私は新しいAndroidプロジェクトを作成しており、サポートライブラリの新しいAndroidXの置換を使用することにしました。そのドキュメントは https://developer.Android。 com/jetpack/androidx/migrate 。
手紙の手順に従い、gradleを同期した後、androidx
名前空間とその中に含まれるさまざまなクラスにアクセスできます。ただし、アプリケーションクラスを作成するときは、androidx.multidex.MultiDexApplication
(上記のリンクの表で確認できます)。ただし、multidex
パッケージ全体は存在しません。
誰かがこの問題を解決しましたか?ポインタはありますか?
Android.enableJetifier=true
はあまり意味がありませんそれを置き換えることはできますが。
名前空間の非透過的なマングリングなしで、単純に依存関係として追加できます。
implementation "androidx.multidex:multidex:2.0.0"
Androidxを使用している場合は、MultiDexApplication(androidxからの参照)をマニフェストファイルに追加する必要があります。
<application
Android:name="androidx.multidex.MultiDexApplication"
.....></application>
Martin Zeitlerの答えに加えて、gradleビルドファイルを追加する必要がありました。
defaultConfig {
...
multiDexEnabled true // Add this line
...
}
依存関係と同様に
implementation "androidx.multidex:multidex:2.0.0"
なぜ発生するかについては、 このユーザーガイド on Android開発者が非常によく説明しています。
わかった、わかった!
Multidexライブラリは、Android support libの一部ではなく、gradleにインポートする必要があった追加のライブラリでした。私のgradle.propertiesファイルには次のとおりです。
# Jetifier automatically updates dependancy binaries
# To swap out support lib for androix
Android.enableJetifier=true
現在、コンパイル時に、multidex依存関係がandroidx実装用にスワップアウトされます。