我正在尝试将 android 目标 API 从 29 更新到 30。我已更新:
compileSdkVersion = 30
targetSdkVersion = 30
buildToolsVersion = "30.0.2"
该应用程序与zipalign -p -f -v 4
在按照官方文件签署之前。
当我尝试adb install
the .apk
但是我得到:
失败 [-124:installPackageLI 期间解析失败:针对 R+
(版本 30 及以上)需要已安装 APK 的 resources.arsc
以未压缩方式存储并在 4 字节边界上对齐]
有人在这方面取得过成功吗?
我有类似的问题。
Observe the zipalign logs for this -
它不应该被压缩。如果是的话,那就是问题所在。您需要以某种方式使其不被压缩。它应该看起来像
resources.arsc (OK)
尝试一下 -
unzip -q -o ur-apk.apk -d ur-unzipped-apk-folder
cd ur-unziped-apk-folder
zip -n "resources.arsc" -qr ../zipped.apk *
根据官方文档,使用此 zipped.apk 进行对齐和签名。
注意 - 如果面向 Android 11(API 级别 30)或更高版本的应用包含压缩的 resources.arsc 文件,或者该文件未在 4 字节边界上对齐,则无法安装
https://developer.android.com/about/versions/11/behavior-changes-11#app-packaging https://developer.android.com/about/versions/11/behavior-changes-11#app-packaging
https://developer.android.com/studio/build/building-cmdline#sign_cmdline https://developer.android.com/studio/build/building-cmdline#sign_cmdline
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)