fix(android): package the requested emulator ABI
This commit is contained in:
1 parent
28c294824c
commit
5b2a7fb0f6
3 files changed
+12
-2
No files matched your search
@@ -97,7 +97,8 @@ EOF
|
||||
printf 'sdk.dir=%s\n' "$ANDROID_SDK" > "$TEMPLATE/local.properties"
|
||||
|
||||
echo "== [test-sdk] assembling APK from $TEMPLATE =="
|
||||
if ! ( cd "$TEMPLATE" && bash gradlew :app:assembleDebug --no-daemon --console=plain ) \
|
||||
if ! ( cd "$TEMPLATE" && bash gradlew :app:assembleDebug \
|
||||
-PevengineAbi="$ANDROID_PACKAGE_ABI" --no-daemon --console=plain ) \
|
||||
>"$WORK/apk-build.log" 2>&1; then
|
||||
tail -n 40 "$WORK/apk-build.log"
|
||||
fail "gradle assembleDebug failed"
|
||||
|
||||
@@ -2,6 +2,8 @@ plugins {
|
||||
id("com.android.application")
|
||||
}
|
||||
|
||||
val evengineAbi = providers.gradleProperty("evengineAbi").getOrElse("arm64-v8a")
|
||||
|
||||
android {
|
||||
namespace = "com.evengine.example"
|
||||
compileSdk = 34
|
||||
@@ -16,7 +18,7 @@ android {
|
||||
versionName = "0.5.2"
|
||||
|
||||
ndk {
|
||||
abiFilters += listOf("arm64-v8a")
|
||||
abiFilters += listOf(evengineAbi)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ APK_RUNNER = ROOT / ".github" / "scripts" / "run-consumer-apks.sh"
|
||||
CONSUMER_TEST = ROOT / ".github" / "scripts" / "consumer-test.sh"
|
||||
SDK_INSTALL = ROOT / "cmake" / "install_sdk.cmake"
|
||||
THIRD_PARTY_BUILD = ROOT / "cmake" / "third_party_build.cmake"
|
||||
ANDROID_GRADLE = ROOT / "platform" / "android" / "apk" / "app" / "build.gradle.kts"
|
||||
|
||||
|
||||
def job_block(workflow: str, job: str, next_job: str | None = None) -> str:
|
||||
@@ -30,6 +31,7 @@ class MobileSdkReleaseGateTests(unittest.TestCase):
|
||||
cls.consumer_test = CONSUMER_TEST.read_text(encoding="utf-8")
|
||||
cls.sdk_install = SDK_INSTALL.read_text(encoding="utf-8")
|
||||
cls.third_party_build = THIRD_PARTY_BUILD.read_text(encoding="utf-8")
|
||||
cls.android_gradle = ANDROID_GRADLE.read_text(encoding="utf-8")
|
||||
|
||||
def test_android_emulator_is_a_hard_gate_for_every_consumer_host(self) -> None:
|
||||
block = job_block(self.workflow, "run-android", "ios-sim")
|
||||
@@ -81,6 +83,11 @@ class MobileSdkReleaseGateTests(unittest.TestCase):
|
||||
self.assertIn('ANDROID_ABI MATCHES "^x86(_64)?$"', self.third_party_build)
|
||||
self.assertIn("-DALSOFT_CPUEXT_NEON=OFF", self.third_party_build)
|
||||
|
||||
def test_android_apk_abi_is_overridable_for_native_emulator_gate(self) -> None:
|
||||
self.assertIn('gradleProperty("evengineAbi").getOrElse("arm64-v8a")', self.android_gradle)
|
||||
self.assertIn('abiFilters += listOf(evengineAbi)', self.android_gradle)
|
||||
self.assertIn('-PevengineAbi="$ANDROID_PACKAGE_ABI"', self.sdk_test)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user