Skip to content

Commit 50c7101

Browse files
committed
ci: build only target arm64 APK
1 parent c42abd3 commit 50c7101

3 files changed

Lines changed: 35 additions & 23 deletions

File tree

.github/workflows/blacksmith.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,16 @@ jobs:
106106
run: |
107107
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" "ndk;29.0.14206865"
108108
export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/29.0.14206865"
109+
export MUPDF_ABIS="arm64-v8a"
109110
bash Builder/link_to_mupdf_1.23.7.sh
110111
find app/src/main/jniLibs -name 'libMuPDF.so' -print
111112
test -f app/src/main/jniLibs/arm64-v8a/libMuPDF.so
112113
113114
- name: Build with Gradle (Pro Arm64)
114-
run: ./gradlew app:assembleProRelease
115+
run: ./gradlew app:assembleProRelease -PtargetAbi=arm64-v8a
115116

116117
- name: Upload arm64 APK
117118
uses: actions/upload-artifact@v4
118119
with:
119120
name: Librera.Pro-APK
120-
path: "app/build/outputs/apk/**/*.apk"
121+
path: "app/build/outputs/apk/**/*arm64.apk"

Builder/link_to_mupdf_1.23.7.sh

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ VERSION_TAG="1.23.7"
1111
MUPDF_FOLDER=mupdf-$VERSION_TAG
1212
ARG="${1:-}"
1313
ARG2="${2:-}"
14+
MUPDF_ABIS="${MUPDF_ABIS:-armeabi-v7a arm64-v8a x86 x86_64}"
1415

1516
if [ "$ARG" == "fdroid" ]; then
1617
MUPDF_FOLDER=$MUPDF_FOLDER-fdroid
@@ -74,10 +75,9 @@ mv $MUPDF_JAVA/jni/Android-$VERSION_TAG.mk $MUPDF_JAVA/jni/Android.mk
7475
rm -rf $LIBS
7576
mkdir $LIBS
7677

77-
ln -s $MUPDF_JAVA/libs/armeabi-v7a $LIBS
78-
ln -s $MUPDF_JAVA/libs/arm64-v8a $LIBS
79-
ln -s $MUPDF_JAVA/libs/x86 $LIBS
80-
ln -s $MUPDF_JAVA/libs/x86_64 $LIBS
78+
for ABI in $MUPDF_ABIS; do
79+
ln -s "$MUPDF_JAVA/libs/$ABI" "$LIBS/$ABI"
80+
done
8181

8282
if [ "$ARG" == "copy" ]; then
8383

@@ -161,20 +161,30 @@ if [ "$ARG" == "clean_ndk" ]; then
161161

162162
fi
163163

164+
build_mupdf_abis() {
165+
local NDK="$1"
166+
local PIDS=()
167+
168+
for ABI in $MUPDF_ABIS; do
169+
"$NDK" NDK_APPLICATION_MK=jni/Application.mk APP_ABI="$ABI" APP_PLATFORM=android-24 &
170+
PIDS+=("$!")
171+
done
172+
173+
for PID in "${PIDS[@]}"; do
174+
wait "$PID"
175+
done
176+
}
177+
164178
if [ "$ARG" == "fdroid" ]; then
165179
NDK_FOUND=0
166180
for NDK in "${ANDROID_NDK_HOME:-}/ndk-build" "$PATH1/$FDRIOD_NDK_VERSION/ndk-build" "$PATH2/$FDRIOD_NDK_VERSION/ndk-build" "$PATH3/$FDRIOD_NDK_VERSION/ndk-build";
167181
do
168-
if [ -f "$NDK" ]; then
169-
NDK_FOUND=1
170-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=armeabi-v7a APP_PLATFORM=android-24 &
171-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=arm64-v8a APP_PLATFORM=android-24 &
172-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86 APP_PLATFORM=android-24 &
173-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86_64 APP_PLATFORM=android-24
174-
wait
175-
echo "=================="
176-
echo "NDK:" $NDK
177-
echo "APP_PLATFORM=android-24"
182+
if [ -f "$NDK" ]; then
183+
NDK_FOUND=1
184+
build_mupdf_abis "$NDK"
185+
echo "=================="
186+
echo "NDK:" $NDK
187+
echo "APP_PLATFORM=android-24"
178188
break
179189
fi
180190
done
@@ -188,11 +198,7 @@ else
188198
do
189199
if [ -f "$NDK" ]; then
190200
NDK_FOUND=1
191-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=armeabi-v7a APP_PLATFORM=android-24 &
192-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=arm64-v8a APP_PLATFORM=android-24 &
193-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86 APP_PLATFORM=android-24 &
194-
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86_64 APP_PLATFORM=android-24
195-
wait
201+
build_mupdf_abis "$NDK"
196202
echo "=================="
197203
echo "NDK:" $NDK
198204
echo "APP_PLATFORM=android-24"

app/build.gradle

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ ext {
3131

3232
android {
3333
compileSdk = libs.versions.compileSdk.get().toInteger()
34+
def targetAbi = project.findProperty("targetAbi") ?: ""
3435

3536
namespace = "com.foobnix.pdf.info"
3637

@@ -98,8 +99,12 @@ android {
9899
abi {
99100
enable = true
100101
reset()
101-
include "x86", "x86_64", "armeabi-v7a", "arm64-v8a"
102-
universalApk = true
102+
if (targetAbi) {
103+
include targetAbi
104+
} else {
105+
include "x86", "x86_64", "armeabi-v7a", "arm64-v8a"
106+
}
107+
universalApk = !targetAbi
103108
}
104109
}
105110

0 commit comments

Comments
 (0)