【问题标题】:How can I add APK's split counterparts from Flutter to Google Play Store?如何将 APK 的拆分副本从 Flutter 添加到 Google Play 商店?
【发布时间】:2020-01-05 10:27:15
【问题描述】:

我完成了一个flutter应用,想发布到商店,但它是一个小应用,体积很大。

当我运行时:flutter build apk 我得到了一个大小为 20MB 的 APK。

我试过了:flutter build apk --split-per-abi,这 3 个 APK 我得到了 3 个:

✓ Built build/app/outputs/apk/release/app-armeabi-v7a-release.apk (7.0MB).
✓ Built build/app/outputs/apk/release/app-arm64-v8a-release.apk (7.3MB).
✓ Built build/app/outputs/apk/release/app-x86_64-release.apk (7.5MB).

当我尝试将它们添加到商店时,我无法上传超过 1 个文件。

如何将这些 APK 上传到 Google Play 商店?

【问题讨论】:

    标签: android flutter deployment google-play


    【解决方案1】:

    最好以 app bundle 格式构建您的应用,因为这是 Google PlayStore 的首选格式。只需在终端中运行此命令

    flutter build appbundle
    

    此外,关于缩小已发布应用的大小,您可以为您的 android 应用添加混淆配置。请按照Medium 上的这些说明为您的应用启用混淆功能。

    不过,R8 是来自 Google 的新代码压缩器,它在您构建发布 APK 或 AAB 时默认启用。 Google 从 Flutter: Build and release an Android app 站点中删除了混淆配置,现在显示 R8。但我找到了旧页面 here,它显示了如何启用 Proguard 和混淆/和缩小

    关于 R8 我不能说太多,但在将您的应用提交到 PlayStore 之前,请随时阅读Flutter: Build and release an Android app

    【讨论】:

      【解决方案2】:

      对于 Play 商店,您应该构建一个不带“--split-per-ab”的 APK

      【讨论】:

        【解决方案3】:

        试着把这段代码放在 gradle 中:

        android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.test.test"
            minSdkVersion 15
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' // this one as policy changes
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-18
          • 2019-04-08
          • 2015-05-09
          • 2013-01-08
          相关资源
          最近更新 更多