最近使用flutter开发APP上架应用商店时,遇到【用户未同意隐私协议,系统提前收集设备信息】的问题。
和应用商店沟通后,建议我上传未混淆的包提交复测。根据应用商店客服提供的思路,Flutter 1.16.2 以上默认支持混淆,不需要特殊设置。而我目前使用的是Flutter3.24,默认打包也是混淆的。参考了资料以后,使用以下命令打包,是混淆代码的:flutter build apk --no-shrink
但是我通过此命令打包后,应用商店还是提示代码混淆了。
想问的问题是,Flutter3.24怎样打包不混淆代码的包。
使用flutter build apk --no-shrink 打包出来的包还是混淆代码了
根据评论里的设置,打包出来报错了
buildTypes {
release {
// 打包不混淆设置
minifyEnabled false
useProguard false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
按照这样设置然后打包,报错了。
FAILURE: Build failed with an exception.
* Where:
Build file 'E:\Git\app-flutter\android\app\build.gradle' line: 69
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not find method useProguard() for arguments [false] on BuildType$AgpDecorated_Decorated{name=release, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=f
alse, renderscriptOptimLevel=3, minifyEnabled=false, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, mBuildConfigFields={}, mResValues={}, mProguardFiles=[E:\Git\Meiyike\app-flutter\build\app\intermediates\default_
proguard_files\global\proguard-android.txt-7.3.0, D:\Program\flutter_windows_3.24.5-stable\packages\flutter_tools\gradle\flutter_proguard_rules.pro, E:\Git\Meiyike\app-flutter\android\app\proguard-rules.pro], mConsumerProguardFi
les=[], mManifestPlaceholders={}} of type com.android.build.gradle.internal.dsl.BuildType$AgpDecorated.
69行:useProguard false
不知道你有试过以下方法吗?
打开
android/app/build.gradle
,确保minifyEnabled
设置为false
buildTypes
配置 如下: