From 97cea7b40bb1e9f487f0c8ea983bdcf8b1631965 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Wed, 23 Apr 2025 20:47:31 -0400 Subject: [PATCH] build: Attempt to include native debug symbols in the Android .aab file. --- GNUmakefile | 22 ++++++++++++---------- src/android/AndroidManifest.xml | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index dac3f42a..24b40fa6 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -16,7 +16,7 @@ MAKEFLAGS += --no-builtin-rules ## LD := Linker. ## ANDROID_SDK := Path to the Android SDK. -VERSION_CODE := 36 +VERSION_CODE := 37 VERSION_CODE_IOS := 13 VERSION_NUMBER := 0.0.31-wip VERSION_NAME := This program kills fascists. @@ -1015,7 +1015,7 @@ $(BUNDLETOOL): @curl -q -L --create-dirs -o $@ $(BUNDLETOOL_URL) out/TildeFriends.aab: out/apk/classes.dex $(filter-out %debug%, $(ANDROID_TARGETS)) $(RAW_FILES) out/apk/res.apk src/android/AndroidManifest.xml $(BUNDLETOOL) - @rm -rf out/aab/staging/ + @rm -rf out/aab/staging/ out/aab/base.zip @mkdir -p out/aab/staging @$(ANDROID_BUILD_TOOLS)/aapt2 link --proto-format -o out/aab/temporary.apk \ -I $(ANDROID_PLATFORM)/android.jar \ @@ -1035,14 +1035,11 @@ out/TildeFriends.aab: out/apk/classes.dex $(filter-out %debug%, $(ANDROID_TARGET @cp out/apk/classes.dex out/aab/staging/dex/ @rm -fv out/base.zip @mkdir -p out/aab/staging/lib/arm64-v8a out/aab/staging/lib/armeabi-v7a out/aab/staging/lib/x86_64 out/aab/staging/lib/x86 - @cp out/androidrelease/tildefriends out/aab/staging/lib/arm64-v8a/libtildefriends.so - @cp out/androidrelease-armv7a/tildefriends out/aab/staging/lib/armeabi-v7a/libtildefriends.so - @cp out/androidrelease-x86_64/tildefriends out/aab/staging/lib/x86_64/libtildefriends.so - @cp out/androidrelease-x86/tildefriends out/aab/staging/lib/x86/libtildefriends.so - @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/aab/staging/lib/arm64-v8a/libtildefriends.so - @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/aab/staging/lib/armeabi-v7a/libtildefriends.so - @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/aab/staging/lib/x86_64/libtildefriends.so - @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/aab/staging/lib/x86/libtildefriends.so + @mkdir -p out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/arm64-v8a out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/armeabi-v7a out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86_64 out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86 + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/androidrelease/tildefriends -o out/aab/staging/lib/arm64-v8a/libtildefriends.so + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/androidrelease-armv7a/tildefriends -o out/aab/staging/lib/armeabi-v7a/libtildefriends.so + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/androidrelease-x86_64/tildefriends -o out/aab/staging/lib/x86_64/libtildefriends.so + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip out/androidrelease-x86/tildefriends -o out/aab/staging/lib/x86/libtildefriends.so @cp -r apps/ out/aab/staging/root/ @rm -rf out/aab/staging/root/apps/welcome* @cp -r core/ out/aab/staging/root/ @@ -1051,6 +1048,11 @@ out/TildeFriends.aab: out/apk/classes.dex $(filter-out %debug%, $(ANDROID_TARGET @cp -r deps/codemirror/ out/aab/staging/root/deps/ @cd out/aab/staging/; zip -r ../base.zip *; cd ../../../ @java -jar $(BUNDLETOOL) build-bundle --overwrite --config=src/android/BundleConfig.json --modules=out/aab/base.zip --output=$@ + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip --only-keep-debug out/androidrelease/tildefriends -o out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/arm64-v8a/libtildefriends.so.sym + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip --only-keep-debug out/androidrelease-armv7a/tildefriends -o out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/armeabi-v7a/libtildefriends.so.sym + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip --only-keep-debug out/androidrelease-x86_64/tildefriends -o out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86_64/libtildefriends.so.sym + @$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip --only-keep-debug out/androidrelease-x86/tildefriends -o out/aab/staging/BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86/libtildefriends.so.sym + @cd out/aab/staging; zip -u ../../../$@ BUNDLE-METADATA/com.android.tools.build.debugsymbols/arm64-v8a/libtildefriends.so.sym BUNDLE-METADATA/com.android.tools.build.debugsymbols/armeabi-v7a/libtildefriends.so.sym BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86_64/libtildefriends.so.sym BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86/libtildefriends.so.sym; cd ../../../ @$(ANDROID_BUILD_TOOLS)/apksigner sign -ks .keys/android.jks --ks-key-alias androidKey -ks-pass pass:android --min-sdk-version=$(ANDROID_MIN_SDK_VERSION) $@ aab: out/TildeFriends.aab ## Build an Android App Bundle. diff --git a/src/android/AndroidManifest.xml b/src/android/AndroidManifest.xml index e4a8851b..c855153e 100644 --- a/src/android/AndroidManifest.xml +++ b/src/android/AndroidManifest.xml @@ -1,7 +1,7 @@