gradle“universalApk true”并没有为我建立一个包含所有ABI的apk

时间:2016-07-15 05:45:33

标签: android gradle apk

我正在使用android studio 2.1.2和gradle 2.12, 使用以下gradle.build脚本:

splits {
    abi {
        enable true
        reset()
        include 'x86', 'x86_64', 'armeabi-v7a'
        universalApk true
    }
}

构建之后,它会生成以下APK。

  • 项目armeabi-V7A调试-unaligned.apk
  • 项目armeabi-V7A-debug.apk
  • 项目的通用调试-unaligned.apk
  • 项目万向debug.apk
  • 项目86调试unaligned.apk
  • 项目86 debug.apk
  • 项目x86_64的调试-unaligned.apk
  • 项目x86_64的-debug.apk

但是,似乎project-universal-*.apk不包含我想要的x86和x86_64支持。它无法在我的x86_64仿真器上安装。 (project-x86_64-debug.apk效果很好)

$ adb install project-universal-debug.apk
[100%] /data/local/tmp/project-universal-debug.apk
    pkg: /data/local/tmp/project-universal-debug.apk
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

我也通过aapt命令检查它:(不确定它是否正确)

$aapt dump badging project-universal-debug.apk  | grep native-code
native-code: 'armeabi' 'armeabi-v7a'

我可以为include 'x86', 'x86_64', 'armeabi-v7a'的所有ABI设置通用APK吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用完整的abis列表?这对我有用:

include 'arm', 'arm-v7a', 'arm64', 'mips', 'x86', 'x86_64', 'armeabi-v7a'