原文链接:https://github.com/flutter/flutter/wiki/Obfuscating-Dart-Code
以下内容均来自Flutter Github官方Wiki。
代码混淆可以隐藏你的Dart代码中的函数和类名,让反编译App变得困难。
注:Dart的混淆还没有经过完全的测试,如果发现问题请到GitHub上提 issue 。关于混淆的问题,还可以参考 Stack Overflow 上的这个问题。
Flutter中的混淆配置其实是在Android和iOS端分别配置的。
Android
在<ProjectRoot>/android/gradle.properties
文件中添加如下代码:
extra-gen-snapshot-options=--obfuscate
默认情况下,Flutter不会混淆或者缩减Android host,如果你使用了第三方的Java或者Android库,那么你可能需要减小APK体积,或者防止你的App被反编译。
- Step 1:配置Proguard文件
新建/android/app/proguard-rules.pro
文件ÿ