web-dev-qa-db-ja.com

AndroidXへの移行

Android Studioを3.2にアップグレードした後、Redactor-> Migrate to AndroidXを使用してAndroidXに自動移行したいのですが、このエラーが発生しました:

Androidの依存関係「androidx.media:media」には、コンパイル(1.0.0-rc01)とランタイム(1.0.0)クラスパスの異なるバージョンがあります。 DependencyResolutionを使用して同じバージョンを手動で設定する必要があります

8
Amir

おそらく、依存関係の1つがandroidx.media:media:1.0.0-rc1を使用しています。 Gradleの依存関係解決戦略 を使用して、すべての依存関係に同じバージョンを強制的に使用させる必要があります。
アプリレベル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
11
Hamed Momeni

リファクタリングにより、古いインポートが次のように変更されます。

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

レガシーの依存関係を使用する予定がない場合は、代わりに以下を使用できます。

implementation 'androidx.appcompat:appcompat:1.0.0'

これにより、メディアをまったく使用していない場合にも問題が解決されます...

3
prom85

手動で修正してください。

依存関係を次のように変更します。

androidx.media:media:1.0.0

そして、クラスでimportsを変更します