AndroidX是一个Android开发支持库。它的创建目的是帮助Android开发者将最新的Android功能带到旧的Android版本。
有了AndroidX,开发者将能够使他们的Android应用与该库所支持的尽可能多的Android版本兼容。
AndroidX包括Android应用开发的基本库,包括测试和布局库。
它是旧的Android支持库的升级版,该库已不再维护。
当你用最新的Android Studio版本创建一个新的应用程序时,androidx 已经被默认包含在项目中。
考虑一下下面的例子。
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.6.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
正如你所看到的,几个库如appcompat,constraintlayout, 和espresso 都在使用androidx 命名空间。
这些库将在你的应用程序中使用,如下所示。
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
// ...
}
将上面的依赖性列表与下面的旧Android应用项目进行比较。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:support-v4:23.3.0'
compile 'com.android.support:design:23.3.0'
}
旧的支持库使用com.android.support 的包,但命名空间使用android.support ,如下图所示。
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
// ...
}
在AndroidX中,库的命名空间是一致的。
旧支持库中的所有功能在AndroidX中也是可用的,而且新的功能将被添加到那里。
如果你的Android项目还在使用旧的支持库,有一个迁移指南可以帮助你开始使用AndroidX。
现在你已经了解了什么是AndroidX以及如何开始使用它。