3

对于 Android Flutter 应用,您可以混淆 Dart 代码和原生 Android 代码。

--obfuscate --split-debug-info=/path/to/place/symbols在构建 aab、apk、ipa 或 ios 时使用标志混淆 Dart 代码。

您可以在应用级别的 build.gradle 中混淆 Android 原生应用

buildTypes {
        release {
            shrinkResources true 
            minifyEnabled true
        } 

现在,我的疑问是我必须将哪些符号上传到 Google Play?

  1. Dart 混淆生成文件:
  • app.android-x64.symbols
  • app.android-arm64.symbols
  • app.android-arm.symbols

但除了象征您下载到计算机的崩溃报告文件之外,没有关于如何使用它们的信息

  1. 根据skyllet 的回答,您应该压缩文件夹(每个文件夹都包含在 libapp.so 和 libflutter.so 存档中):
  • arm64-v8a
  • armeabi-v7a
  • x86_64

位于 build\app\intermediates\merged_native_libs\release\out\lib 到 *.zip 并将该 zip 上传到 Google Play

  1. 您还可以通过下载 NDK 并配置 build.gradle (app),按照Taras Svidnytskyy 的回答将本机符号捆绑在 aab 中
android.*.ndkVersion = "23.1.7779620" | 'your ndk version'
android.*.ndk.debugSymbolLevel = 'FULL' | 'TABLE' // Table for reduced symbols

现在,使用 3),与 AAB 捆绑在一起的压缩原生符号的大小(不幸的是我无法下载比较)在 Google Play 控制台中为 5kB。

使用 2),具有 3 个文件夹的压缩 zip 的大小为 12MB。

我没有找到如何从 1) 上传符号,但它们的重量约为 1MB(压缩)

所以我的理解是 2 和 3 应该上传相同的符号,但比较档案的大小,情况似乎并非如此。

上传符号图的正确方法是什么?

4

0 回答 0