From 772c8d1a8ff1a3939103f1ee347d1a749afa273f Mon Sep 17 00:00:00 2001 From: jyyi1 Date: Tue, 16 Jun 2026 17:13:54 -0400 Subject: [PATCH 1/2] build: support 16KB page size and bump minSdkVersion to 21 --- Android/app/build.gradle | 6 +- Android/gradle.properties | 2 +- Android/gradle/verification-metadata.xml | 275 +++++++++++++++++++++++ 3 files changed, 279 insertions(+), 4 deletions(-) diff --git a/Android/app/build.gradle b/Android/app/build.gradle index a1590b07..68899703 100644 --- a/Android/app/build.gradle +++ b/Android/app/build.gradle @@ -127,8 +127,8 @@ dependencies { // For Firebase Analytics, etc. implementation 'com.google.firebase:firebase-analytics:19.0.2' // Last version for API <19 implementation 'com.google.firebase:firebase-perf:20.0.4' - implementation 'com.google.firebase:firebase-crashlytics:18.2.6' - implementation 'com.google.firebase:firebase-crashlytics-ndk:18.2.6' + implementation 'com.google.firebase:firebase-crashlytics:19.0.2' + implementation 'com.google.firebase:firebase-crashlytics-ndk:19.0.2' implementation 'com.google.firebase:firebase-config:21.0.1' // Go backend (use fileTree instead of files to prevent Android Studio sync errors) @@ -157,7 +157,7 @@ tasks.register('compileGoBackend', Exec) { System.getenv('PATH') commandLine("${goBuildDir}/gomobile", 'bind', - '-ldflags=-s -w', + '-ldflags=-s -w -extldflags=-Wl,-z,max-page-size=16384', '-target=android', "-androidapi=${android.defaultConfig.minSdk}", '-o', goBackendAAR, diff --git a/Android/gradle.properties b/Android/gradle.properties index f6c1ede0..3d0215f4 100644 --- a/Android/gradle.properties +++ b/Android/gradle.properties @@ -30,5 +30,5 @@ android.nonFinalResIds=false ANDROID_COMPILE_SDK_VERSION=34 ANDROID_BUILD_TOOLS_VERSION=34.0.0 -ANDROID_MIN_SDK_VERSION=16 +ANDROID_MIN_SDK_VERSION=21 ANDROID_TARGET_SDK_VERSION=34 diff --git a/Android/gradle/verification-metadata.xml b/Android/gradle/verification-metadata.xml index 3cd57ea5..5f22e481 100644 --- a/Android/gradle/verification-metadata.xml +++ b/Android/gradle/verification-metadata.xml @@ -21,6 +21,14 @@ + + + + + + + + @@ -108,6 +116,14 @@ + + + + + + + + @@ -172,6 +188,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -907,6 +955,14 @@ + + + + + + + + @@ -920,6 +976,14 @@ + + + + + + + + @@ -941,6 +1005,24 @@ + + + + + + + + + + + + + + + + + + @@ -1005,6 +1087,19 @@ + + + + + + + + + + + + + @@ -1100,6 +1195,14 @@ + + + + + + + + @@ -1113,6 +1216,11 @@ + + + + + @@ -1142,6 +1250,14 @@ + + + + + + + + @@ -1150,6 +1266,22 @@ + + + + + + + + + + + + + + + + @@ -1158,6 +1290,14 @@ + + + + + + + + @@ -1166,6 +1306,14 @@ + + + + + + + + @@ -1174,6 +1322,14 @@ + + + + + + + + @@ -1198,6 +1354,14 @@ + + + + + + + + @@ -1206,6 +1370,14 @@ + + + + + + + + @@ -1222,6 +1394,14 @@ + + + + + + + + @@ -1238,6 +1418,14 @@ + + + + + + + + @@ -1246,6 +1434,19 @@ + + + + + + + + + + + + + @@ -1259,6 +1460,14 @@ + + + + + + + + @@ -1267,6 +1476,14 @@ + + + + + + + + @@ -2113,6 +2330,14 @@ + + + + + + + + @@ -2121,6 +2346,14 @@ + + + + + + + + @@ -2129,6 +2362,14 @@ + + + + + + + + @@ -2137,6 +2378,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 98c1eb325aab0fe139935fb71b5365901d400646 Mon Sep 17 00:00:00 2001 From: jyyi1 Date: Thu, 18 Jun 2026 18:08:31 -0400 Subject: [PATCH 2/2] build: document Go compiler and external linker flags --- Android/app/build.gradle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Android/app/build.gradle b/Android/app/build.gradle index 68899703..4c0c756b 100644 --- a/Android/app/build.gradle +++ b/Android/app/build.gradle @@ -157,6 +157,11 @@ tasks.register('compileGoBackend', Exec) { System.getenv('PATH') commandLine("${goBuildDir}/gomobile", 'bind', + // -s -w: Omit symbol table and debug info to reduce binary size. + // -extldflags: Pass flags to the external linker (e.g., Clang): + // * -Wl: Pass the subsequent option to the linker. + // * -z: Pass a keyword option to the linker. + // * max-page-size=16384: Align ELF to 16KB page for Android 15+. '-ldflags=-s -w -extldflags=-Wl,-z,max-page-size=16384', '-target=android', "-androidapi=${android.defaultConfig.minSdk}",