Google Play提供的APK不包含本地库

时间:2019-12-02 12:30:27

标签: android android-ndk

我的应用程序支持4种本机平台:armeabi-v71arm64-v8ax86x86_64。我在构建脚本中过滤了这些内容:

ndkBuild {
    targets "recognizer"
    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}

生成的AAB文件的内容似乎正常: enter image description here

尽管如此,当上传到Google Play并在armeabi-v7a设备上进行尝试时,APK中没有包含本机库。根据Google Play的文件应为4.90MB: enter image description here

我选中了“查看设备”按钮,该设备列在该组中。但是,在安装时,Google Play显示下载为4.57MB。我使用“ Apk Extractor”应用程序检查了设备上的apk,它只有大约2MB(我的本机lib压缩了约2.5MB)。它包含.so文件以外的所有内容。

此问题的其他答案建议过滤ABI,以便AAB文件中没有空文件夹。这不是我的情况,我的aab文件仅包含有效文件夹,全部包含我所需的唯一库。

我还使用bundletool进行了测试,我将build-apks--connected-device标志一起使用。输出apks文件包含本机lib。然后,我使用了install-apks。它将APK提取到临时目录中,该目录还包含本机lib。但是同样,没有将本机lib安装到设备上。当我以“默认APK”模式从Android Studio安装APP时,将安装本机lib,并且“ Apk Extractor”还提取包含该lib的apk。

0 个答案:

没有答案