在3d party APK文件中,我注意到有不同架构的文件夹 - armv7,arm64,x86,mips - 所以单个APK适用于多种架构,由Android支持。
但是,我似乎没有办法用Qt项目做到这一点。我有一个针对多个体系结构的项目,但我一次只能为一个体系结构生成一个APK,仅适用于当前活动的项目工具包。
是否可以为Qt项目制作这样的多重APK?
答案 0 :(得分:0)
我找到了解决此问题的方法。当我的Qt应用程序必须符合Google为64位体系结构提供64位二进制文件的要求时,我遇到了这个问题。尽管此过程并非完全自动化,但可以。
1-构建适用于不同架构的APK(在我的情况下为armeabi-v7a和arm64-v8a)
2-打开所有APK以使用任何压缩/解压缩软件进行编辑(我使用了Ubuntu提供的默认设置。在Windows上可以使用WinRaR)
3-转到“ lib”文件夹,然后复制以该架构命名的文件夹(arm64-v8a,armeabi-v7a等)
4-将步骤3中所有复制的文件夹合并到任何一个APK的lib文件夹中。现在我们将使用这个APK向前移动
5-转到APK根目录上名为“ META-INF”的文件夹并删除文件* .RSA和* .SF
6-现在关闭APK文件。
7-转到documentation并下载Jar文件。您可以使用此工具对文件进行zipalign并再次签名。按如下方式使用罐子。
java -jar uber-apk-signer-1.0.0.jar --apks ./android-build-release-signed.apk --ks android_release.keystore --ksAlias your_certificate_alias
现在您可以将最终的APK发布到Google Play。干杯!