用户在使用我的应用程序时遇到错误,只有在修改了某些资产文件的情况下,这才可能发生。我猜想这是因为应用程序捆绑正在执行某种有损压缩。
如何关闭它?
编辑:显示我如何使用解压缩:
aaptOptions {
noCompress 'fst', 'txt', 'int', 'mdl', 'raw', 'csl', 'mat', 'conf', 'bin', 'carpa', 'pb', 'pt', 'vec'
}
相关文件位于[assets /] model /
内部我已经发布了内部模型超过150MB的应用程序,这就是为什么我认为必须对其进行压缩的原因。目前du -hs
中的model/
输出148MB,应用下载大小为125到139MB。
答案 0 :(得分:1)
Android App Bundle不会修改资产。
您可以通过在本地运行bundletool build-apks
重现APK的生成方式。参见bundletool documentation。
一个可能的问题是,如果您直接从APK映射资产,则它们需要在APK中保持未压缩状态,在这种情况下,您需要指出哪些资产需要在最终APK中保持未压缩状态,然后您就可以所以在Gradle中使用:
android {
aaptOptions {
noCompress 'png', 'mp3'
}
}
答案 1 :(得分:0)
Android App Bundle - 里面的文件总是被压缩,但是应该未压缩的信息 (aaptOptions.noCompress) 似乎存储在包内的某个地方。
当 google play 从 bundle 生成 apk 时: base.apk - 资产和资源,对应于 aaptOptions.noCompress 不被压缩。 “安装时间”资产包 - 所有资产都未压缩。 如果您使用 bundletool 从 bundle 构建 apk,也会发生同样的情况。