无法迁移到AndroidX

时间:2019-01-28 04:18:36

标签: android-studio flutter androidx

我在Android Studio中有一个Flutter项目。我正计划迁移到 AndroidX 。每当我重构->迁移到AndroidX 时,Android Studio都会显示错误消息:

  

您需要在模块build.gradle中将compileSdk设置为至少28,才能迁移到AndroidX。

但是我已经在我的 app / gradle.build 文件中设置了 compileSdkVersion 28

enter image description here

还有什么需要做的吗?

9 个答案:

答案 0 :(得分:6)

最后我能够解决我的问题...

  1. 将Flutter项目打开到Android Studio中
  2. 右键单击android目录,然后单击Flutter->在Android Studio中打开Android模块。它要求我升级gradle插件。
  3. 然后,我安装了Google Play服务。工具-> SDK管理器-> SDK工具并点击Goolge Play服务。

安装了Goolge Play服务后,我做了Refator->迁移到AndroidX ...,它开始起作用。

注意 从步骤2中打开的项目窗口中进行重构

希望它将对某人有所帮助...

答案 1 :(得分:3)

这是我摆脱“ compileSdkVersion 28”错误的方法。但是在以这种方式解决之前,我从3.4.1-> 3.5.1升级了Android Studio IDE。我不确定这是否真的需要。因此,无论您使用哪种版本的IDE,请查看是否可以使用以下步骤来解决它。

  1. 转到“项目结构”-(IDE右上角的AVD Manager图标左侧的第二个图标)

  2. 在左侧导航下的“项目结构”对话框中,单击“项目设置”->“模块”

  3. 选择“模块”后,在右窗格中,您应该看到3个选项卡“源,路径,依赖项”

  4. 单击Dependencies,如果遇到compileSdkVersion 28错误,则Dependencies下的SDK版本指向低于28的版本->选择28或更高

  5. 单击“确定”

  6. 现在重构->迁移到AndroidX对我有用

答案 2 :(得分:2)

在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

答案 3 :(得分:0)

我遇到了完全相同的问题。由于所有新的firebase内容都在强制迁移,因此一直在尝试进行迁移,但是当前的升级指南很少。首先,我尝试使用大量插件对项目进行备份,并不断出现该错误,然后我创建了一个带有所有最新(开发渠道)的全新flutter项目,然后执行每个步骤,检查了每个细节,阅读了每个论坛,但是仍然出现“您需要在模块build.gradle中将compileSdk设置为至少28,才能迁移到AndroidX。” ... 也匹配了https://androidxhackathon.blogspot.com/2018/05/refactor-to-android-x.html中的步骤,因此无法正确重构。 甚至去了File> ProjectStructure> Project SDK并设置为Android API 28 Platform。 有人知道我们可能会缺少什么吗?山姆,你有运气吗?

答案 4 :(得分:0)

单击“使缓存无效/从文件重新启动”选项对我有用

答案 5 :(得分:0)

android.useAndroidX=true
android.enableJetifier=true

答案 6 :(得分:0)

尝试使用以下方法替换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'
}

替换内容与该链接的“不推荐...”部分中发布的内容类似:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

如果您可以解释为什么这样做,请添加评论。谢谢!

答案 7 :(得分:0)

转到“文件”菜单中的“项目结构”。清除您在那里看到的每个问题,例如 设置android sdk,修复指定的问题

答案 8 :(得分:0)

一个简单的解决方案。 遵循步骤。

  1. 创建一个新应用->(在窗口中打勾androidX)->完成
  2. 在android-> app-> build.gradle中添加以下几行, 更新defaultConfig

    minSdkVersion 19
    targetSdkVersion 28
    multiDexEnabled true
    
  3. 转到Refractor-> migrationToAndroidx
  4. 扑打干净
  5. 重新启动
  6. 运行

希望它现在可以工作...