我正在阅读关于Android的一个房间库。我看到他们把android包改成了androidx。我不明白。有人能解释一下吗?
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
甚至这也是可用的android包。
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
为什么需要在androidx而不是android中打包新的支持库?
现有项目中的用例和影响因素。
AndroidX是一个开源项目,Android团队使用它在Jetpack中开发、测试、打包、版本和发布库。
经过几个小时的努力,我通过在app/build.gradle中包含以下内容来解决这个问题:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
把这些标志放在gradle.properties中
android.enableJetifier=true
android.useAndroidX=true
Changes in gradle:
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha04'
当在Android studio上迁移时,app/gradle文件会自动更新标准库中的修正库实现
参考网址:https://developer.android.com/jetpack/androidx/migrate