说在前面:

老项目、大项目适配Android X 注意了,一定要谨慎、谨慎、再谨慎。项目中用到的第三方库多的话会很麻烦,有些第三方库还没有适配Android X。
适配Android X的两种情况:一种是老项目适配Android X ,另外一种是新项目要求适配Android 9.0

硬核要求

Android studio 版本升级到3.2.0 以上的版本,
distributionUrl的版本升级为 4.10.1以上
targetSdkVersion 28
gradle 插件的版本升级为 3.2.0以上

classpath 'com.android.tools.build:gradle:3.2.0'

这里以AS 3.4为例

第一步:
新项目,这步可以跳过。

compileSdkVersion 28    defaultConfig {        applicationId "gangqing.pu.xmxidaq"        minSdkVersion 19        targetSdkVersion 28        versionCode 1        versionName "1.0"        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"    }

第二步:

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositories {        google()        jcenter()            }    dependencies {        classpath 'com.android.tools.build:gradle:3.4.0'        classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0'        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}allprojects {    repositories {        google()        jcenter()        maven { url "https://jitpack.io" }    }}task clean(type: Delete) {    delete rootProject.buildDir}

第三步:
在gradle.properties 中加入如下代码,表示支持Android X

android.useAndroidX=trueandroid.enableJetifier=true


第四步:
Android Studio ----> Refactor----> Migrate to androidx,,一键转为 androidX

第五步:
支持Java 1.8

compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }

第六步:
修改布局,比如:ConstraintLayout

变化之前 AndroidX

注意:如果是老项目适配AndroidX,没有找到ConstraintLayout 的话,那么还需要在中添加如下代码

dependencies {      implementation 'androidx.constraintlayout:constraintlayout:1.1.3'}

第四步之后,
变为

更多相关文章

  1. Android(安卓)Studio Build running 时间过长且失败Gradle
  2. Ant 编译 Android(安卓)项目为 Apk 实战, 常见问题解决
  3. Android(安卓)SDK各版本源码
  4. android上的i-jetty
  5. android ActionBar(官方指导)
  6. android ActionBar(官方指导)
  7. ADT20新建项目Android(安卓)Support library not installed问题
  8. js 判读是iPhone还是Android
  9. js 判读是iPhone还是Android

随机推荐

  1. android framework
  2. android EditText 去除边框
  3. Basic4android (Basic for Android) - Ra
  4. Android探索之旅(第二十一篇)Android中事件
  5. 小米2及其他Android手机无法连接mac解决
  6. android TextView显示文字和图片
  7. Android中dip, dp, px, sp之间的区别
  8. Android源码下载
  9. 2013.05.16——— android 关于listview
  10. android下giflib