Flutter打包APK报错:No variants found for ':flutter_plugin_android_lifecycle'
以下是几个经过验证的可行解决方案,按顺序尝试:
清理项目并重新构建
先执行Flutter层面的清理:flutter clean flutter pub get再进入项目的
android目录,执行Gradle清理和构建:
Mac/Linux:./gradlew clean ./gradlew buildWindows:
gradlew clean gradlew build固定flutter_plugin_android_lifecycle依赖版本
打开项目根目录的pubspec.yaml,将flutter_plugin_android_lifecycle的依赖指定为稳定版本,避免自动拉取不稳定的快照版,示例:dependencies: flutter_plugin_android_lifecycle: ^2.0.15执行
flutter pub upgrade更新依赖后再尝试打包。确保Gradle与Android插件版本兼容
打开android/build.gradle,检查com.android.tools.build:gradle的版本,同时确保gradle/wrapper/gradle-wrapper.properties中的Gradle版本与之匹配。示例配置:android/build.gradle:buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }gradle/wrapper/gradle-wrapper.properties:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip检查插件模块的构建变体配置
打开Android Studio,通过File > Project Structure > Modules找到:flutter_plugin_android_lifecycle模块,确认其Build Variants中存在debug或release等有效变体。同时检查该模块的build.gradle是否正确配置了构建类型:android { buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } }强制统一依赖版本
如果项目中其他依赖间接引入了不同版本的flutter_plugin_android_lifecycle,导致版本冲突,可在pubspec.yaml中添加依赖覆盖:dependency_overrides: flutter_plugin_android_lifecycle: ^2.0.15执行
flutter pub get后重新打包。
内容的提问来源于stack exchange,提问作者Prem Panchal

