2019年九月,google正式发布了android10,由于android对android9以后的包不再维护,最近客户也是很多android10的手机出了问题,所以不得不进行迁移至android10进行兼容

下面是我的迁移过程以及遇到的一些问题进行记录,希望可以帮助迁移中遇到问题的你:

一.

首先进行版本升级:compileSdkVersion 、targetSdkVersion都改为29

二.

和所有迁移项目一样:进行转换:

androidX 迁移中所遇到的一些问题总结

 

三、

转换成功可在gradle.properties 看到如下属性,代表适配androidx

android.useAndroidX = true android.enableJetifier = true

四、

我的没有全部转换成功,所以我进行了手动转换

以下是相应的对应包,没有全部写出来,只具代表性:

1.  implementation 'com.android.support.constraint:constraint-layout:1.1.3'

implementation 'androidx.constraintlayout:constraintlayout:2.0.2'

2. implementation 'com.android.support:multidex:1.0.3'

 implementation 'androidx.multidex:multidex:2.0.1'

3.  implementation 'com.android.support:design:27.1.1

  implementation 'com.google.android.material:material:1.2.1'

4.   implementation 'com.android.support:cardview-v7:27.1.1'    

  implementation 'androidx.cardview:cardview:1.0.0'

5.   implementation 'com.android.support:recyclerview-v7:27.1.1

  implementation 'androidx.recyclerview:recyclerview:1.1.0'

    注:有的包名需要手动导入,不是完全自动的

五:

如果项目中有用到ButterKnife的,需要更新至版本10.0.0

annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
implementation 'com.jakewharton:butterknife:10.0.0'

六、

有用到BaseRecyclerViewAdapterHelper的,需更新到3X,兼容androidX

implementation group: 'com.github.CymChad', name: 'BaseRecyclerViewAdapterHelper', version: '3.0.4'

七:

有用到imageloader的,虽然现在很老了,但是有的项目一直没换,所以换Glide工程也会很大,那么就找找有没有兼容androidX的imageLoader吧

一通找到这个:

universal-image-loader-1.9.5.jar

更新包中的旧方法,替换为新方法:

diskCache、LimitedAgeDiskCache、DiskCacheFileNameGenerator

以上就是我转换androidx的记录

八、

希望在Android 10以下的设备中仍然获取设备IMEI等信息,可按以下方式进行适配:

<uses-permission android:name="android.permission.READ_PHONE_STATE"

        android:maxSdkVersion="28"/>

添加    android:maxSdkVersion="28"

以上就是我迁移androidx的记录啦,希望可以帮助到你们,还有更能坑的可以一起讨论!!!

iskCache

LimitedAgeDiskCache

diskCacheFileNameGenerator

iskCache

LimitedAgeDiskCache

diskCacheFileNameGenerator

diskCache

LimitedAgeDiskCache

diskCacheFileNameGenerator

diskCache

LimitedAgeDiskCache

diskCacheFileNameGenerator

 

有用到Base

RecyclerViewAdapterHelper

 

 

相关文章: