Flutter集成Jitsi Meet后Release APK构建失败,配置ProGuard遇Gradle错误
解决Flutter构建Release APK时的Gradle配置错误
错误原因
你遇到的No signature of method: ...android()错误,核心原因是ProGuard配置放错了位置,或是使用了Android Gradle Plugin(AGP)已废弃的语法。
正确配置步骤
- 打开项目中的
android/app/build.gradle文件 - 找到
buildTypes节点,将ProGuard相关配置放在release代码块内部,而非直接写在android根节点下:android { // 其他原有配置... buildTypes { release { // 正式发布时请替换为你的签名配置 signingConfig signingConfigs.debug // 开启代码混淆 minifyEnabled true // 开启资源压缩(可选,配合混淆使用) shrinkResources true // 指定混淆规则文件 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } - 注意:AGP 7.0及以上版本已废弃
useProguard,无需添加该配置;若使用AGP 7.0以下版本,可在release块内添加useProguard true,但仍需确保配置在buildTypes > release内部。
额外检查项
- 确认
android/app目录下存在proguard-rules.pro文件,若没有则新建,可添加Flutter基础混淆规则:# Flutter基础混淆规则 -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.** { *; } - 运行
flutter clean清理缓存,再执行flutter build apk --release重新构建 - 用
flutter doctor检查Gradle、Flutter版本兼容性,修复输出中的警告
内容的提问来源于stack exchange,提问作者Nutdanai
相关产品推荐
相关产品推荐

