ci: enforce arm64 release abi

This commit is contained in:
2026-08-21 13:50:08 +08:00
parent 9a8c23e2f0
commit a1433f1f4e
2 changed files with 16 additions and 1 deletions
Vendored
+1 -1
View File
@@ -163,7 +163,7 @@ PY
retry(3) {
sh '''
set -euo pipefail
"$FLUTTER_ROOT/bin/flutter" build apk \
JIZHANG_ANDROID_ABIS=arm64-v8a "$FLUTTER_ROOT/bin/flutter" build apk \
--flavor internal --release --target-platform android-arm64 \
--build-name "$APP_VERSION" --build-number "$ANDROID_VERSION_CODE" \
--dart-define=INTERNAL_BUILD=true \
+15
View File
@@ -24,6 +24,16 @@ val releaseSigningKeys = listOf(
)
val releaseSigningConfigured = keystorePropertiesFile.exists() &&
releaseSigningKeys.all { !keystoreProperties.getProperty(it).isNullOrBlank() }
val requestedAndroidAbis = System.getenv("JIZHANG_ANDROID_ABIS")
.orEmpty()
.split(',')
.map { it.trim() }
.filter { it.isNotEmpty() }
.toSet()
val supportedAndroidAbis = setOf("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
require(requestedAndroidAbis.all(supportedAndroidAbis::contains)) {
"Unsupported JIZHANG_ANDROID_ABIS value: ${requestedAndroidAbis - supportedAndroidAbis}"
}
fun pushBuildValue(name: String): String =
(project.findProperty(name)?.toString() ?: System.getenv(name) ?: "")
@@ -50,6 +60,11 @@ android {
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
if (requestedAndroidAbis.isNotEmpty()) {
ndk {
abiFilters.addAll(requestedAndroidAbis)
}
}
buildConfigField("String", "PUSH_HUAWEI_APP_ID", "\"${pushBuildValue("PUSH_HUAWEI_APP_ID")}\"")
buildConfigField("String", "PUSH_HONOR_APP_ID", "\"${pushBuildValue("PUSH_HONOR_APP_ID")}\"")
buildConfigField("String", "PUSH_XIAOMI_APP_ID", "\"${pushBuildValue("PUSH_XIAOMI_APP_ID")}\"")