flutter Android混淆

1 在android/app目录下新建文件,名为proguard-rules.pro。文件内容如下:

-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }
-keep class com.umeng.** {*;}

-keepclassmembers class * {
   public <init> (org.json.JSONObject);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

2 在android/app目录下build.gradle文件中release下面添加如下内容:

minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

### 如何在 Flutter 项目中进行代码混淆配置 #### Android 平台上的代码混淆 对于 Android 平台,在执行构建操作时可以通过特定参数来启用Dart代码的混淆功能。具体来说,通过命令行工具使用`flutter build apk`指令并附加选项`--obfuscate`以及指定用于存储调试信息路径的`--split-debug-info=</path/to/debug_info>`来进行设置[^2]。 ```bash flutter build apk --obfuscate --split-debug-info=./build/outputs/mapping/ ``` 此过程会生成一份符号映射文件,它非常重要,因为一旦应用程序发布之后遇到崩溃情况,这份文件可以帮助开发人员解读经过混淆处理后的堆栈追踪信息回到原始未混淆的状态下理解问题所在。 #### iOS 平台上的代码混淆 针对iOS平台,则是在终端里利用类似的命令完成相同目的的操作:`flutter build ipa`同样接受上述提到过的两个标志位作为输入参数之一[^3]: ```bash flutter build ipa --obfuscate --split-debug-info=./symbols ``` 这一步骤确保了即使应用被打包成ipa格式提交给App Store审核之前也能够有效地保护源码安全性和隐私性。 #### 符号映射表的重要性 无论在哪种操作系统环境下实施这些措施,都强调了一点——即应当妥善保管好由编译器自动生成出来的符号映射表格。这是因为当程序发生异常终止或者其他意外状况之时,拥有这样的资源意味着可以更加快捷准确地定位错误根源从而加速修复流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值