diff --git a/android/android/app/build.gradle b/android/android/app/build.gradle index 5e1fbbc..da5ae5c 100644 --- a/android/android/app/build.gradle +++ b/android/android/app/build.gradle @@ -104,6 +104,19 @@ android { proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } + + // ABI-Split: nur arm64-v8a (jedes Android-Phone seit ~2017). Bringt die + // APK von ~136 MB auf ~35 MB — relevant weil ONNX Runtime + die anderen + // Native-Libs sonst pro Architektur dazukommen. Wer 32-bit oder Emulator + // braucht, kann hier "armeabi-v7a", "x86_64" etc. ergaenzen. + splits { + abi { + enable true + reset() + include "arm64-v8a" + universalApk false + } + } } dependencies { diff --git a/android/build.sh b/android/build.sh index 6370024..dc22df6 100755 --- a/android/build.sh +++ b/android/build.sh @@ -167,10 +167,23 @@ export CI=true if [ "$MODE" = "debug" ]; then ./gradlew assembleDebug - APK_PATH="app/build/outputs/apk/debug/app-debug.apk" + OUT_DIR="app/build/outputs/apk/debug" else ./gradlew assembleRelease - APK_PATH="app/build/outputs/apk/release/app-release.apk" + OUT_DIR="app/build/outputs/apk/release" +fi + +# Mit ABI-Splits heisst die APK z.B. app-arm64-v8a-release.apk statt +# app-release.apk. arm64-v8a-Variante zuerst probieren (das ist unser +# Standard), Universal-APK als Fallback falls Splits deaktiviert sind. +if [ -f "$OUT_DIR/app-arm64-v8a-${MODE}.apk" ]; then + APK_PATH="$OUT_DIR/app-arm64-v8a-${MODE}.apk" +elif [ -f "$OUT_DIR/app-${MODE}.apk" ]; then + APK_PATH="$OUT_DIR/app-${MODE}.apk" +else + echo -e "${RED}Keine passende APK in $OUT_DIR gefunden${NC}" + cd .. + exit 1 fi cd ..