You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无源码旧APK重编译后不符合Google Play 64位要求的解决问询

解决无源码APK上传Google Play的64位合规问题

你当前的问题核心是:虽已添加x86_64的64位库,但仍未满足Google Play的64位要求——这主要因为缺少arm64-v8a架构的64位库(绝大多数64位安卓设备为arm架构),同时需确保全流程中64位库被正确打包至最终AAB。以下是可行的无源码解决方案:

步骤1:补充arm64-v8a架构的64位库

Google Play明确要求:若应用支持32位arm架构(armeabi-v7a),必须同时提供对应64位arm架构(arm64-v8a)的native库。仅添加x86_64无法覆盖所有64位设备,这是当前报错的核心原因。

  • 找到与原应用功能匹配的arm64-v8a版本.so库文件
  • 将这些库放入反编译目录的lib/arm64-v8a/路径(目录不存在则新建)

步骤2:确认反编译目录的lib结构

确保最终lib目录结构完整:

lib
├── armeabi
├── armeabi-v7a
├── x86
├── x86_64
└── arm64-v8a

步骤3:重新编译APK并验证库打包情况

  1. 用Apktool重新编译:
apktool b "myapp.apk-decompiled" --use-aapt2 -o "myapp-modified-final.apk"
  1. 解压编译后的APK,检查lib/目录下是否存在arm64-v8a和x86_64文件夹,且内部包含对应.so文件——这一步是关键,确保Apktool未遗漏打包新添加的库。

步骤4:用官方bundletool生成AAB

第三方APK转AAB工具可能过滤架构,推荐使用Google官方的bundletool,确保所有架构被完整保留:

  1. 下载bundletool的jar包
  2. 执行转换命令:
java -jar bundletool-all-<version>.jar build-bundle --modules=myapp-modified-final.apk --output=myapp-final.aab

步骤5:提前验证AAB的架构合规性

上传前用bundletool检查AAB是否包含所需64位库:

java -jar bundletool-all-<version>.jar inspect-bundle --bundle=myapp-final.aab --modules

确认输出结果的nativeConfig部分包含arm64-v8a和x86_64的架构声明,且对应库存在。

额外检查项

  • 检查AndroidManifest.xml:若存在android:extractNativeLibs="false",建议改为true,避免库加载异常
  • 确保签名后的APK/AAB使用Google Play认可的上传密钥(你已通过uber-apk-signer完成此步骤,可忽略)

内容的提问来源于stack exchange,提问作者LaUs3r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 03:52:42