Flutter项目:Android Embedding旧版本迁移至v2及依赖下载问题求助
解决Flutter旧Android Embedding导致rflutter_alert无法安装及AndroidManifest报错问题
一、升级Android Embedding到V2版本(核心解决包安装障碍)
- 修改
android/app/build.gradle:
在android块内指定SDK版本,确保配置如下:
在android { compileSdkVersion 33 defaultConfig { minSdkVersion 21 targetSdkVersion 33 } }dependencies块内更新Flutter嵌入依赖:dependencies { implementation "io.flutter:flutter_embedding_debug:1.0.0" // 保留原有material等依赖,仅新增上述嵌入依赖 } - 更新
android/gradle/wrapper/gradle-wrapper.properties:
将distributionUrl替换为适配V2嵌入的Gradle版本:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip - 修改
android/build.gradle:
更新Android Gradle插件和Kotlin版本:dependencies { classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0" }
二、修复AndroidManifest.xml错误
- 确保根标签命名空间正确:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="你的应用包名"> - 替换旧嵌入的Application与Activity配置:
删除<application>标签内的android:name="io.flutter.app.FlutterApplication",替换为标准V2嵌入的Activity配置:<application android:label="应用名称" android:icon="@mipmap/ic_launcher"> <activity android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme"/> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> - 清理冗余配置:删除重复权限声明、无效
<meta-data>标签等无用内容。
三、重新安装rflutter_alert并构建项目
- 在
pubspec.yaml中添加依赖:dependencies: rflutter_alert: ^2.0.7 - 执行命令完成依赖安装与项目构建:
flutter pub get flutter clean flutter run
内容的提问来源于stack exchange,提问作者Chin-Erdene Gantulga
相关产品推荐
相关产品推荐

