我需要将我的由 flutter 生成的发布 apk 上传到 Google Play 商店。当我运行“flutter build apk --release”时,响应是和 apk 但大小为 21MB(基于文档是一个包含所有 abi 的 apk 的 FAT apk)。
javier.hospital@COBOADM-UD-P01 Flutter-APP-BODYTECH % flutter build apk --release
Building without sound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 20,5s
✓ Built build/app/outputs/flutter-apk/app-release.apk (21.9MB).
我发现了其他命令“flutter build apk --split-per-abi”,该命令生成 3 个 8mb 大小的 apk。我认为这是一个不错的选择,因为我需要我的应用程序很小。
javier.hospital@COBOADM-UD-P01 Flutter-APP-BODYTECH % flutter build apk --split-per-abi
Building without sound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 12,7s
✓ Built build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk (8.4MB).
问题是当我尝试签署这 3 个 apk 中的任何一个时,无法签署代码错误是“jarsigner:无法签署 jar:java.util.zip.ZipException:无效条目压缩大小(预期为 5654,但得到 5205 个字节)"。
我的问题是,当我将第一个 apk (21MB) 上传到 google play 时,用户只下载了 8mb apk?。或者是否需要上传 3 个 abi apk 供用户下载仅 8 mb?
在这种情况下,有什么方法可以对仅针对特定 abi 生成的 apk 进行签名?.
感谢您的帮助!
答案 0 :(得分:2)
上传应用程序包是 Google 推荐的方法。 我总是使用 App Bundle 将我的 App 上传到 Playstore。
<块引用>我的问题是,当我将第一个 apk (21MB) 上传到 google play 时, 用户只下载了 8MB 的 apk?
是的,用户只需要下载一个 8MB 的文件
在此处阅读有关 App Bundle 的更多信息https://developer.android.com/platform/technology/app-bundle