web-dev-qa-db-ja.com

AndroidX MultiDexが見つかりません

私は新しいAndroidプロジェクトを作成しており、サポートライブラリの新しいAndroidXの置換を使用することにしました。そのドキュメントは https://developer.Android。 com/jetpack/androidx/migrate

手紙の手順に従い、gradleを同期した後、androidx名前空間とその中に含まれるさまざまなクラスにアクセスできます。ただし、アプリケーションクラスを作成するときは、androidx.multidex.MultiDexApplication(上記のリンクの表で確認できます)。ただし、multidexパッケージ全体は存在しません。

誰かがこの問題を解決しましたか?ポインタはありますか?

10
Thomas Cook

Android.enableJetifier=trueはあまり意味がありませんそれを置き換えることはできますが

名前空間の非透過的なマングリングなしで、単純に依存関係として追加できます。

implementation "androidx.multidex:multidex:2.0.0"
20
Martin Zeitler

Androidxを使用している場合は、MultiDexApplication(androidxからの参照)をマニフェストファイルに追加する必要があります。

<application
        Android:name="androidx.multidex.MultiDexApplication"
        .....></application>
1
gokhan

Martin Zeitlerの答えに加えて、gradleビルドファイルを追加する必要がありました。

defaultConfig {
  ...
  multiDexEnabled true // Add this line
  ...
}

依存関係と同様に

implementation "androidx.multidex:multidex:2.0.0"

なぜ発生するかについては、 このユーザーガイド on Android開発者が非常によく説明しています。

0
Attaque

わかった、わかった!

Multidexライブラリは、Android support libの一部ではなく、gradleにインポートする必要があった追加のライブラリでした。私のgradle.propertiesファイルには次のとおりです。

# Jetifier automatically updates dependancy binaries
# To swap out support lib for androix
Android.enableJetifier=true

現在、コンパイル時に、multidex依存関係がandroidx実装用にスワップアウトされます。

0
Thomas Cook