无法将 Flutter 项目迁移到 AndroidX
Unable to migrate Flutter project to AndroidX
我在 Android Studio 中有一个 Flutter 项目。我打算迁移到 AndroidX。每当我执行 Refactor -> Migrate to AndroidX 时,Android Studio 都会显示错误消息:
You need to have compileSdk set to at least 28 in your module build.gradle to migrate to AndroidX.
但是我已经在我的 app/gradle.build 文件中设置了 compileSdkVersion 28。
还有什么需要我做的吗?
在 gradle.build(应用程序)中添加此
compileSdkVersion 28
defaultConfig {
......
minSdkVersion 21
targetSdkVersion 28
......
}
并且有一些实现需要使用 androidx :-
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
并将给定的两行(下方)添加到 gradle.properties:-
android.useAndroidX=true
android.enableJetifier=true
我遇到了完全相同的问题。一直在尝试迁移,因为所有新的 firebase 东西都在强制迁移,但当前的升级指南很少。首先,我尝试使用大量插件备份我的项目,但一直出现该错误,然后我创建了一个全新的 flutter 项目,其中包含所有最新的(开发频道),遵循每一步,检查每一个细节,阅读每一个论坛,但仍然 "You need to have compileSdk set to at least 28 in your module build.gradle to migrate to AndroidX."...
也匹配 https://androidxhackathon.blogspot.com/2018/05/refactor-to-android-x.html 中的步骤,但无法正确重构。
甚至去 File>ProjectStructure>Project SDK 并设置为 Android API 28 Platform。
任何人都知道我们可能会错过什么?山姆,你运气好吗?
我能够解决我的问题:
- 将 Flutter 项目打开到 Android Studio
- 右键点击android目录,点击Flutter -> 在Android Studio中打开Android模块。它要求我升级我的 gradle 插件。
- 然后我安装了 Google Play 服务。工具 -> SDK 管理器 -> SDK 工具并检查 Google 播放服务。
安装 Google Play 服务后,我进行了重构 -> 迁移到 AndroidX。
它开始工作了。
注意:从您在步骤 2 中打开的项目 window 进行重构。
点击文件中的无效 cache/Restart 选项对我有用
尝试用 app/build.gradle 中的 dependencies {...}
替换默认值:
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
}
替换与此 link 的 "Not recommended..." 部分中发布的内容类似:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
如果您能解释为什么这样做,请添加评论。谢谢!
转到“文件”菜单中的 "Project structure"。清除你在那里看到的每一个问题,比如
设置android sdk,修复指定的问题
以下是我如何摆脱 "compileSdkVersion 28" 错误。但在我这样解决之前,我从 3.4.1 -> 3.5.1 升级了 Android Studio IDE。我不确定这是否真的需要。所以无论你有什么版本的IDE,看看你是否可以使用以下步骤来解决它。
转到 "Project Structure" -(IDE 右上角 AVD 管理器图标左侧的第二个图标)
在左侧导航下的 "Project Structure" 对话框中单击“项目设置”->“模块”
选择模块后,在右侧窗格中您应该会看到 3 个选项卡源、路径、依赖项
点击 Dependencies,如果出现 compileSdkVersion 28 错误,则 Dependencies 下的 SDK 版本指向低于 28 的版本 -> Select 28 或更高
5. 单击确定
- 现在重构->迁移到 AndroidX 对我有用
一个简单的解决方案。
按照步骤进行。
- 创建一个新应用 -->(在 window 中勾选 androidX)--> 完成
在 android --> app --> build.gradle 添加一些行,如下所示,
更新默认配置
minSdkVersion 19
targetSdkVersion 28
multiDexEnabled true
- 转到 Refractor --> migrateToAndroidx
- 清理 Flutter
- 重启
- 运行
希望它现在有效...
我在 Android Studio 中有一个 Flutter 项目。我打算迁移到 AndroidX。每当我执行 Refactor -> Migrate to AndroidX 时,Android Studio 都会显示错误消息:
You need to have compileSdk set to at least 28 in your module build.gradle to migrate to AndroidX.
但是我已经在我的 app/gradle.build 文件中设置了 compileSdkVersion 28。
还有什么需要我做的吗?
在 gradle.build(应用程序)中添加此
compileSdkVersion 28
defaultConfig {
......
minSdkVersion 21
targetSdkVersion 28
......
}
并且有一些实现需要使用 androidx :-
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
并将给定的两行(下方)添加到 gradle.properties:-
android.useAndroidX=true
android.enableJetifier=true
我遇到了完全相同的问题。一直在尝试迁移,因为所有新的 firebase 东西都在强制迁移,但当前的升级指南很少。首先,我尝试使用大量插件备份我的项目,但一直出现该错误,然后我创建了一个全新的 flutter 项目,其中包含所有最新的(开发频道),遵循每一步,检查每一个细节,阅读每一个论坛,但仍然 "You need to have compileSdk set to at least 28 in your module build.gradle to migrate to AndroidX."... 也匹配 https://androidxhackathon.blogspot.com/2018/05/refactor-to-android-x.html 中的步骤,但无法正确重构。 甚至去 File>ProjectStructure>Project SDK 并设置为 Android API 28 Platform。 任何人都知道我们可能会错过什么?山姆,你运气好吗?
我能够解决我的问题:
- 将 Flutter 项目打开到 Android Studio
- 右键点击android目录,点击Flutter -> 在Android Studio中打开Android模块。它要求我升级我的 gradle 插件。
- 然后我安装了 Google Play 服务。工具 -> SDK 管理器 -> SDK 工具并检查 Google 播放服务。
安装 Google Play 服务后,我进行了重构 -> 迁移到 AndroidX。 它开始工作了。
注意:从您在步骤 2 中打开的项目 window 进行重构。
点击文件中的无效 cache/Restart 选项对我有用
尝试用 app/build.gradle 中的 dependencies {...}
替换默认值:
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
}
替换与此 link 的 "Not recommended..." 部分中发布的内容类似:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
如果您能解释为什么这样做,请添加评论。谢谢!
转到“文件”菜单中的 "Project structure"。清除你在那里看到的每一个问题,比如 设置android sdk,修复指定的问题
以下是我如何摆脱 "compileSdkVersion 28" 错误。但在我这样解决之前,我从 3.4.1 -> 3.5.1 升级了 Android Studio IDE。我不确定这是否真的需要。所以无论你有什么版本的IDE,看看你是否可以使用以下步骤来解决它。
转到 "Project Structure" -(IDE 右上角 AVD 管理器图标左侧的第二个图标)
在左侧导航下的 "Project Structure" 对话框中单击“项目设置”->“模块”
选择模块后,在右侧窗格中您应该会看到 3 个选项卡源、路径、依赖项
点击 Dependencies,如果出现 compileSdkVersion 28 错误,则 Dependencies 下的 SDK 版本指向低于 28 的版本 -> Select 28 或更高
- 现在重构->迁移到 AndroidX 对我有用
一个简单的解决方案。 按照步骤进行。
- 创建一个新应用 -->(在 window 中勾选 androidX)--> 完成
在 android --> app --> build.gradle 添加一些行,如下所示, 更新默认配置
minSdkVersion 19 targetSdkVersion 28 multiDexEnabled true
- 转到 Refractor --> migrateToAndroidx
- 清理 Flutter
- 重启
- 运行
希望它现在有效...