我创建了一个用于分发应用的应用。
它下载apk文件并提示用户安装它们。
如果我仅为x86_x64
分发带有本机代码的应用,则它不会安装在arm / arm64设备上。
软件包安装程序说该应用程序与该设备不兼容。
在提示用户之前,有没有办法确定兼容性?
由于Api Level 21,我可以使用Build.SUPPORTED_ABIS
来确定设备的CPU可以处理哪种ABI。
但是我如何从APK中知道它是否包含本机代码?
在我的电脑上,我可以用“aapt d --values badging vlc-arm64.apk
”来完成
这提供了“native-code:
'arm64-v8a
'”
但我没有抓住Android设备。
有没有等价的?
答案 0 :(得分:0)
感谢小费,我认为可能有更优雅的方式。 但您建议的解决方案有效。 我正在使用ZipInputStream迭代zip存档并检查以lib / xxxx / fileZ开头的所有路径并保存xxxx部分,这是apk支持的ABI。如果apk没有任何包含的库,则每个具有最小sdk的Android设备都支持apk。