开启useProguard true后Flutter构建APK失败,依赖jitsi_meet包求助
解决jitsi_meet开启useProguard后构建APK报错问题
问题背景
- 使用jitsi_meet包时,必须开启
useProguard true才能避免应用运行时崩溃 - 执行构建命令
flutter build apk --split-per-abi时,抛出如下错误:No signature of method: build_4yynebg217r84s3g2thgvw6p3.android() is applicable for argument types: (build_4yynebg217r84s3g2thgvw6p3$_run_closure2) values: [build_4yynebg217r84s3g2thgvw6p3$_run_closure2@5c06ab28]
- 当前Android Gradle插件版本为7.1.2
解决方案
1. 修正ProGuard配置语法
AGP 7.x版本对gradle配置语法有严格要求,错误通常是因为配置格式不兼容。修改android/app/build.gradle中的release构建类型配置:
android { buildTypes { release { useProguard true // 加载默认ProGuard规则+自定义规则 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } }
2. 添加jitsi_meet专属ProGuard规则
在android/app/proguard-rules.pro中添加以下规则,防止jitsi核心代码被混淆导致崩溃:
# Jitsi Meet 规则 -keep class org.jitsi.meet.** { *; } -keep class org.jitsi.meet.sdk.** { *; } # WebRTC 依赖规则 -keep class org.webrtc.** { *; } # React Native 依赖规则(若使用RN集成) -keep class com.facebook.react.** { *; } -dontwarn org.jitsi.meet.** -dontwarn org.webrtc.**
3. 清理并重建项目
执行以下命令彻底清理缓存后重新构建:
flutter clean flutter pub get flutter build apk --split-per-abi
4. (可选)升级Android Gradle插件版本
若上述步骤无效,可尝试升级AGP到兼容版本(如7.2.0),修改android/build.gradle中的依赖:
dependencies { classpath 'com.android.tools.build:gradle:7.2.0' }
注意:升级后需同步gradle wrapper版本(AGP 7.2.0对应Gradle 7.3.3),可通过修改
android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl实现。
内容的提问来源于stack exchange,提问作者ialyzaafan
相关产品推荐
相关产品推荐

