最近使用flutter开发APP上架应用商店时,遇到【用户未同意隐私协议,系统提前收集设备信息】的问题。
和应用商店沟通后,建议我上传未混淆的包提交复测。根据应用商店客服提供的思路,Flutter 1.16.2 以上默认支持混淆,不需要特殊设置。而我目前使用的是Flutter3.24,默认打包也是混淆的。参考了资料以后,使用以下命令打包,是混淆代码的:flutter build apk --no-shrink
但是我通过此命令打包后,应用商店还是提示代码混淆了。
想问的问题是,Flutter3.24怎样打包不混淆代码的包。
使用flutter build apk --no-shrink 打包出来的包还是混淆代码了
不知道你有试过以下方法吗?
打开android/app/build.gradle
,确保 minifyEnabled
设置为 false
buildTypes
配置 如下:
buildTypes {
release {
// 禁用代码压缩和混淆
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
### 回答
在 Flutter 3.24 中,如果你希望打包不混淆代码的 APK,你需要确保在 `android/app/build.gradle` 文件中正确配置了混淆规则。默认情况下,Flutter 项目使用 ProGuard 进行代码混淆。要禁用代码混淆,你可以按照以下步骤操作:
1. **打开 `android/app/build.gradle` 文件**。
2. **找到 `android` 配置块**,并在其中找到 `buildTypes` 配置。
3. **在 `release` 配置中,确保 `minifyEnabled` 设置为 `false`**。
例如:
android {
...
buildTypes {
release {
// 确保这里设置为 false
minifyEnabled false
useProguard false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
4. **使用以下命令打包 APK**:
flutter build apk --release
这样打包出来的 APK 将不会包含混淆的代码。注意,`--no-shrink` 参数在 Flutter 的构建命令中并不是用来控制混淆的,它主要用于控制资源文件的压缩。
确保你已经正确设置了 `minifyEnabled` 为 `false`,并且没有其他的混淆配置在项目中生效。如果你之前使用了自定义的 ProGuard 规则文件,确保这些规则文件没有被错误地应用到构建过程中。
混淆打包 在项目的主工程目录的proguard-project.txt配置中加入如下设置: V3.2.3及后续版本: -dontwarn solid.ren.skinlibrary.** -keep class solid.ren.skinlibrary.** { *; } -keep interface solid.ren.skinlibrary.** { *; } -keep public c
问题内容: 如何快速混淆代码。我有一个非常小的 Java App ,我想将混淆的代码交付给客户端。我听说过很多有关 ProGuard 混淆代码并下载的信息,但不知道如何混淆我的“ abc.jar”文件。 我检查了它的网站,但其中包含许多要阅读的材料。我不需要沉迷。我只需要简单地将变量,方法和类的名称更改为一些不可读的名称即可。我知道ProGuard还提供所有其他功能。 Q1。 因此,谁能告诉我一些
问题内容: 我正在寻找如何隐藏我的Python源代码。 如何编码此示例,以使它不易阅读?有人告诉我使用base64,但不知道如何使用。 问题答案: 这只是一个有限的第一层混淆解决方案,但是它是内置的:Python有一个编译器来对字节码进行编码: 生成一个包含字节码的文件,并删除其中的文档字符串,等等。您可以使用.py扩展名重命名该文件,并且可以像程序一样运行,但不包含源代码。 PS:您获得的“有限
问题内容: 是否有对Java混淆代码进行反混淆的工具? 这些代码是从编译的类中提取的,但是它们被混淆并且不可读。 问题答案: 您是否尝试过使用Java Deobfuscator(又名JDO) (一种智能反编译器)来减少代码的晦涩感? 目前,JDO执行以下操作: 将混淆的方法,变量,常量和类名重命名为唯一的,并更能指示其类型 在整个源代码树(测试版)中传播更改 具有易于使用的GUI 允许您指定字段,
在proguard-project.txt中使用-keep类org.xbill.**{*;}似乎不能解决这个问题。
问题内容: 我正在做一个登录页面。我有UITextField作为密码。 显然,我不希望看到密码。相反,我希望键入时显示圆圈。您如何设置发生这种情况的领域? 问题答案: 请将您的UItextField属性设置为安全。 试试这个.. textFieldSecure是您的UITextField …
问题内容: 我有一个关于webpack的基本问题,可以做出反应(可以在代码混淆/丑化周围)使用帮助。 我正在为我的应用程序使用它,它似乎为生产创建了捆绑的版本(运行之后)。 在该文件中,似乎所有内容都放入了main.JS文件和main.CSS文件等中,我使用“ firebase deploy”(在我的情况下)进行了实时推送。我希望我的代码被丑化,并且那里的任何开发人员都不能完全阅读。 但是,当我在
本文向大家介绍Android 混淆代码详解及实例,包括了Android 混淆代码详解及实例的使用技巧和注意事项,需要的朋友参考一下 为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤: 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过