Was ist AndroidX ?

Kürzlich ist mit beim Anlegen eines Android Projects aufgefallen, dass die dependencies im build.gradle eine andere package name structure bekommen haben. Statt com.android.support:appcompat-v7 gibt es jetzt androidx.appcompat:appcompat.

dependencies { 
   implementation fileTree(dir: 'libs', include: ['*.jar']) 
   implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 
   implementation 'androidx.appcompat:appcompat:1.1.0-alpha04' 
   implementation 'androidx.core:core-ktx:1.1.0-alpha05' 
   implementation 'androidx.constraintlayout:constraintlayout:1.1.3' 
   testImplementation 'junit:junit:4.12' 
   androidTestImplementation 'androidx.test:runner:1.2.0-alpha03' 
   androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-alpha03' 
}

AndroidX wurde eingeführt um die Paketnamen klarer zu gestalten. Es ist ähnlich wie bei java.* und javax.* packages. Alle dependencies die mit android.* beginnen sind Android-Standardklassen, die teil des Android-Betriebssystem sind. Alle andere Bibliotheken (oder Abhängigkeiten) werden Teil von androidx sein. Beispielsweise appcompat.

Wie kann ich AndroidX in bestehenden Android Projekten verwenden ?

Freundlicher weise hilft dir Android Studio dabei die ursprünglichen packages names in die von androidx umzuwandeln. Dazu kannst du einfach im Menü Refactor -> Migrate to AndroidX auswählen.

Migration nach AndroidX

Wenn du third-party Abhängigkeiten hast, musst du zusätzlich noch diese option in gradle.properties file auf true setzen.

android.useAndroidX=true
android.enableJetifier=true

Mehr Informationen zum Thema Migration zu AndroidX findest du auf der Android Developer Seite.

Last Update: 15.04.2019

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.