我有一个用Delphi制作的本地应用程序(我的意思是用ARM编译)。该应用在带有apk包的Android32中运行良好。但是现在我想迁移到android 64,然后改用aab格式,但是当我这样做并在运行应用程序时收到错误消息:android.content.res.Resources$NotFoundException: Resource ID #0x7f04001d type #0x1c
无效。,因为它是本机应用程序,我必须手动生成R class
,就像这样
我执行了2次此过程,一次是构建android32 dex和SO库,另一次是构建android64 dex和SO库
最后,我使用bundletool-all-0.10.3.jar构建了aab文件
我想念什么?为什么使用apk我的程序运行正常,但是使用aab却失败了?
答案 0 :(得分:2)
Dex文件的32位和64位必须相同,因此您应该具有一个classes.dex和一个资源表(resources.arsc)来生成。
此外,AAB使用不同格式的资源表,该资源表必须使用aapt2而不是aapt生成。看到 https://developer.android.com/studio/build/building-cmdline#bundletool-build了解所有详细信息。