lok*_*oki 2 delphi android google-play google-play-console android-app-bundle
在 google play 下以 aab 格式(Android App Bundles)部署我的 android 64 位应用程序 + android 32 位应用程序(在 Delphi 中制作)在 android 32 位设备下不起作用。当我启动应用程序时,它说他们不是这样的库并且无法启动(我的应用程序是在 SO 库中构建的)。当我使用 apk 提取器(https://play.google.com/store/apps/details?id=com.ext.ui&hl=en)提取已安装应用程序的 apk 时,我还看到它们内部没有 SO libray (甚至不是 armeabi_v7a 目录)。当我使用 App Bundles explorer 浏览 aab 文件时,我可以看到我的 android 32 位设备有这个 zip 文件,其中包含:
1/ base.apk (4Mo) without any libraries inside (the apk I extract for my app with apk extractor)
2/ config.armeabi_v7a.apk (14Mo) with libraries inside (so they are here in a different apk?)
3/ config.en.apk (20 ko)
4/ config.xhdpi.apk (110 ko)
Run Code Online (Sandbox Code Playgroud)
此外,当我从 google play 商店下载应用程序时,我看到进度条仍在增长 22%,然后停止并开始安装应用程序(不知道是否重要,我尝试了 2 个不同的设备)
知道有什么问题吗?注意:在 android 64 设备上可以正常工作
一句话,我尝试使用 bundletool 检查 aab,我发现提取的 apk 是
好的,我发现了问题!这是因为我的 ndk 设置是:
C:\SDKs\android-ndk-r17b\platforms\android-28
C:\SDKs\android-ndk-r17b\platforms\android-28\arch-arm\usr\lib
C:\SDKs\android-ndk-r17b\platforms\android-28\arch-arm\usr\lib;C:\SDKs\android-ndk-r17b\sources\cxx-stl\gnu-libstdc++\4.9\libs\ armeabi-v7a
简而言之,我有android-28而不是android-22
此设置在 Delphi 10.3.2 上运行良好,但是当我更新到 10.3.3 时,我遇到了问题:
我在投入生产之前没有检测到问题,因为我在我的 android 64 设备上测试了应用程序(android32 和 android64):(
更糟糕的是,谷歌播放没有检测到库损坏并接受包,并立即将其上传到安装了我的应用程序的所有设备。并且无法回滚,我绝对必须提供一个新的二进制文件,但我花了一些时间才明白问题出在哪里,因为我的计算机中不再有 10.3.2,因为他们无法拥有 10.3.2和 10.3.3 在同一台计算机上。
结论:安装 delphi 的小更新并不是完全没有风险的,不要相信 google play 会在你的包损坏时警告你,在部署之前进行强有力的测试
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |