HarmonyOS鸿蒙Next中flutter build app -t lib/main.dart --release 构建产物 没找到mapping文件的位置

HarmonyOS鸿蒙Next中flutter build app -t lib/main.dart --release 构建产物 没找到mapping文件的位置

flutter build app -t lib/main.dart --release 构建产物 没找到mapping文件的位置
3 回复

在flutter项目中:

您可以参考以下文档进行故障定位:

https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-cppcrash-guidance-V5

您还可以使用hstack工具将release应用混淆后的crash堆栈还原为源码对应堆栈:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-command-line-hstack-V5

更多关于HarmonyOS鸿蒙Next中flutter build app -t lib/main.dart --release 构建产物 没找到mapping文件的位置的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在HarmonyOS鸿蒙Next中,使用flutter build app -t lib/main.dart --release构建应用时,默认情况下不会生成mapping文件。mapping文件通常用于混淆后的代码映射,帮助开发者调试和定位问题。Flutter的Release构建默认不启用混淆,因此不会生成mapping文件。

如果你想生成mapping文件,需要在android/app/build.gradle中启用ProGuard或R8混淆。具体操作如下:

  1. 打开android/app/build.gradle文件。

  2. buildTypes下的release配置中,添加或修改以下内容:

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    
  3. 确保proguard-rules.pro文件中包含Flutter所需的规则。

构建完成后,mapping文件会生成在android/app/build/outputs/mapping/release/目录下。

在HarmonyOS鸿蒙Next中使用Flutter构建应用时,生成的mapping文件默认位于<project>/build/app/outputs/mapping/release/目录下。如果未找到,请确保在build.gradle文件中启用了ProGuard或R8混淆,并检查flutter build命令是否正确执行。若依然缺失,可尝试清理构建缓存并重新构建。

回到顶部