diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0632f81e..6934cc50 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -18,7 +18,12 @@ android { namespace = libs.versions.packageName.get() defaultConfig { applicationId = "cn.ba7opf.look4sat" - ndk { abiFilters.add("armeabi-v7a") } + // CW decoder ships for both ABIs (see feature/cw jniLibs); the APK must + // not be pinned to 32-bit only or 64-bit devices fall back to ARM32. + ndk { + abiFilters.add("armeabi-v7a") + abiFilters.add("arm64-v8a") + } } signingConfigs { create("release") { diff --git a/feature/cw/build.gradle.kts b/feature/cw/build.gradle.kts index 3a781ca9..96505fe4 100644 --- a/feature/cw/build.gradle.kts +++ b/feature/cw/build.gradle.kts @@ -10,10 +10,11 @@ android { compileOptions { encoding = "UTF-8" } - // 照搬 Morse Expert 1.15: native 解码器仅 armeabi-v7a + // Morse Expert 1.15 官方 Play 分包提供 ARM32/ARM64 原生解码器 + // (jniLibs/armeabi-v7a + arm64-v8a), 两个 ABI 都打进 APK defaultConfig { ndk { - abiFilters += listOf("armeabi-v7a") + abiFilters += listOf("armeabi-v7a", "arm64-v8a") } } } diff --git a/feature/cw/src/main/jniLibs/arm64-v8a/libnativedecoderjni.so b/feature/cw/src/main/jniLibs/arm64-v8a/libnativedecoderjni.so new file mode 100644 index 00000000..6beac670 Binary files /dev/null and b/feature/cw/src/main/jniLibs/arm64-v8a/libnativedecoderjni.so differ