diff --git a/build.sh b/build.sh index 632944a3c..42f371830 100755 --- a/build.sh +++ b/build.sh @@ -167,9 +167,9 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU ndk-build -j$NCPU V=1 } || exit 1 ; \ mkdir -p app/build/outputs/apk/release ; \ ../copyAssets.sh pack-binaries app/build/outputs/apk/debug/app-debug.apk && \ + rm -f app/build/outputs/apk/release/app-release.apk && \ zipalign 4 app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/release/app-release.apk && - apksigner sign --ks ~/.android/debug.keystore --ks-key-alias androiddebugkey --ks-pass pass:android app/build/outputs/apk/release/app-release.apk || \ - mv -f app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/release/app-release.apk || exit 1 ; \ + apksigner sign --ks ~/.android/debug.keystore --ks-key-alias androiddebugkey --ks-pass pass:android app/build/outputs/apk/release/app-release.apk || exit 1 ; \ fi ; } && \ { if $sign_apk; then cd .. && ./sign.sh && cd project ; else true ; fi ; } && \ { $install_apk && [ -n "`adb devices | tail -n +2`" ] && \ diff --git a/copyAssets.sh b/copyAssets.sh index 49616602b..e9c299a39 100755 --- a/copyAssets.sh +++ b/copyAssets.sh @@ -3,12 +3,19 @@ ARCHES="arm64-v8a armeabi-v7a x86 x86_64" if [ "$1" = "pack-binaries" ]; then -echo "Copying binaries.zip to .apk file" -COPIED=1 -for ARCH in $ARCHES; do - [ -e lib/$ARCH/binaries.zip ] && zip "$2" lib/$ARCH/binaries.zip && COPIED=0 -done -exit $COPIED +[ -e jni/application/src/AndroidData/lib ] || exit 0 +[ -e jni/application/src/AndroidData/binaries*.zip ] && { + echo "Error: binaries.zip no longer supported in Android 10" + echo "Copy your executable binaries to AndroidData/lib/arm64-v8a" + echo "Then execute them using \$LIBDIR or getenv(\"LIBDIR\")" + exit 0 +} +APK="`pwd`/$2" +echo "Copying binaries to .apk file" +cd jni/application/src/AndroidData/ || exit 1 +zip -r "$APK" lib || exit 1 +cd ../../../../ +exit 0 fi echo "Copying app data files from project/jni/application/src/AndroidData to project/assets" @@ -16,10 +23,7 @@ mkdir -p project/assets rm -f -r project/assets/* if [ -d "project/jni/application/src/AndroidData" ] ; then cp -L -r project/jni/application/src/AndroidData/* project/assets/ + rm -rf project/assets/lib fi -for ARCH in $ARCHES; do - mv project/assets/binaries-$ARCH.zip project/libs/$ARCH/binaries.zip 2>/dev/null -done - exit 0 diff --git a/project/AndroidManifestTemplate.xml b/project/AndroidManifestTemplate.xml index 0932d892c..225970e3b 100644 --- a/project/AndroidManifestTemplate.xml +++ b/project/AndroidManifestTemplate.xml @@ -10,6 +10,7 @@ android:allowBackup="true" android:banner="@drawable/banner" android:isGame="true" + android:extractNativeLibs="true" >