Flutter 使用代码混淆构建签名的 apk 或 appbundle
Posted
技术标签:
【中文标题】Flutter 使用代码混淆构建签名的 apk 或 appbundle【英文标题】:Flutter build signed apk or appbundle with code obfuscation 【发布时间】:2022-01-16 12:33:42 【问题描述】:我正在寻找一种方法来混淆我的 android APK/AppBundle,然后我找到了this command:
flutter build apk --obfuscate --split-debug-info=/<project-name>/<directory>
但它没有密钥库信息,因此我无法在 Google Play 控制台上发布此文件。然后,我找到了this post 用于使用密钥构建应用程序,但它没有使用混淆。
那么,如何使用 Dart 代码混淆构建我的应用的发布版本?
【问题讨论】:
【参考方案1】:混淆代码:我们有 2 个级别来混淆您的代码:
对本机代码(Java、Kotlin)进行混淆处理,此配置将位于 gradle 文件中。你可以阅读更多:https://developer.android.com/studio/build/shrink-code
混淆 Dart 代码。 (与您的命令相同)https://docs.flutter.dev/deployment/obfuscate
您可以混淆原生代码和 Dart 代码。
APK 的构建版本。
如果您没有密钥库来签署应用程序,您可以使用本指南创建它:https://developer.android.com/studio/publish/app-signing
【讨论】:
“但它没有密钥库信息,因此我无法在 Google Play 控制台上发布此文件。” -> 你可以创建一个新的。如果您已经拥有它,请在signingConfigs 上配置gradle。 (在我的附加链接中)。 - “但它不使用混淆。” -> 因为他们使用 GUI。在 gradle 上发布的配置键之后。你可以运行上面的命令。 是的,it 的意思是 command 而不是 me。我说的是命令。该命令不允许我输入密钥库信息。 抱歉,我不理解您评论的第二部分。你可以编辑你的帖子来解释它。 您可以在 gradle 上配置密钥库信息。你可以试试这个指南***.com/questions/18328730/… 谢谢,这就是我想要的。我会为此投票赞成你的帖子:)以上是关于Flutter 使用代码混淆构建签名的 apk 或 appbundle的主要内容,如果未能解决你的问题,请参考以下文章
初见Flutter!框架简单介绍以及构建可发布的签名Apk包
proguard applymapping - mapping.txt 的更改不适用于下一个构建签名的 apk