当前位置 主页 > 网站技术 > 代码类 >

    Android Studio项目适配AndroidX(Android 9.0)的方法步骤

    栏目:代码类 时间:2019-11-26 12:04

    说在前面:

    老项目、大项目适配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=true
    android.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
    <android.support.constraint.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

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

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