迁移到AndroidX

时间:2018-10-23 11:27:48

标签: android androidx

我将Android Studio升级到3.2,现在我想使用Redactor-> Migrate to AndroidX自动迁移到AndroidX,现在出现此错误:

  

Android依赖项“ androidx.media:media”具有不同的版本   编译(1.0.0-rc01)和运行时(1.0.0)类路径。你应该   通过DependencyResolution手动设置相同版本

4 个答案:

答案 0 :(得分:7)

您的依赖项之一可能使用androidx.media:media:1.0.0-rc1。您应该使用Gradle's Dependency Resolution Strategy来强制所有依赖项使用相同的版本。
尝试在您的应用级别build.gradle中添加以下代码,它应该可以正常工作。
像这样:

android {
    compileSdkVersion 28

    defaultConfig {
       // Your code
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
       // Your build types if any
    }

    configurations.all {
        resolutionStrategy {
            force 'androidx.media:media:1.0.0'
        }
    }
}

您还可以使用以下命令来检测哪些依赖项使用androidx.media:media

./gradlew :app:dependencies

答案 1 :(得分:2)

尝试手动修复。

只需将依赖项更改为:

  

androidx.media:media:1.0.0

并在课程中更改进口

答案 2 :(得分:2)

重构会将旧的导入内容更改为以下内容:

        intent.putExtra(Intents.Scan.MODE, Intents.Scan.QR_CODE_MODE);
        intent.putExtra(Intents.Scan.FORMATS, "QR_CODE");

如果您不打算使用遗留依赖性,则可能要使用以下代码:

implementation 'androidx.legacy:legacy-support-v4:1.0.0'

如果您根本不使用媒体,这也将解决此问题...

答案 3 :(得分:0)

我遇到了同样的问题,我通过使用以下方法解决了该问题:

buildscript {
    ext{
        kotlin_version = '1.3.0' // Old 1.2.71
    ...
}

最后,我将gradle版本从3.2.1更改为3.3.1:

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'
        classpath 'com.google.gms:google-services:4.0.1'
...

我希望这会有所帮助。