android - 使用 app bundle 时禁用或减少 app 压缩
问题描述
用户在我的应用程序中遇到错误,只有在修改了某些资产文件时才有可能。我猜这是因为 app bundle 正在执行某种有损压缩。
我怎么能把它关掉?
编辑:展示我如何使用解压缩:
aaptOptions {
noCompress 'fst', 'txt', 'int', 'mdl', 'raw', 'csl', 'mat', 'conf', 'bin', 'carpa', 'pb', 'pt', 'vec'
}
相关文件在 [assets/]model/ 中
我已经发布了模型内部超过 150MB 的应用程序/这就是为什么我认为它必须被压缩。目前输出 148MB du -hs
,model/
应用下载大小为 125 到 139MB。
解决方案
Android App Bundle 不会修改资产。
bundletool build-apks
您可以通过在本地运行来重现 APK 的生成方式。请参阅bundletool 文档。
一个可能的问题是,如果您直接从 APK 映射资源,那么它们需要在 APK 中保持未压缩,在这种情况下,您需要指出哪些资源需要在最终 APK 中保持未压缩,您可以使用 Gradle 来做到这一点使用:
android {
aaptOptions {
noCompress 'png', 'mp3'
}
}
推荐阅读
- ssl-certificate - 从 vertx 的客户端证书中提取用户主体
- visual-studio - Visual Studio 2017 中的“显示片段突出显示”在哪里?
- php - 列表不存在:sharepoint
- java - elasticsearch批量删除请求成功,但不起作用
- swift - SAP Fiori IOS SDK 离线 OData 过滤器问题
- titanium - 在 MAC 中启动我的应用程序时出现错误消息
- docker - 里面有 minikube 的 docker 镜像
- .htaccess - Symfony 与 web_server_bundle - 如何激活 .htaccess
- asp.net-core - 不能将“Microsoft.AspNet.OData.Routing.ODataRoute”与端点路由一起使用。ASP Net Core 2.2 的异常
- dynamics-crm - 如何在动态 crm 中隐藏业务流程?