最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android AndroidX的遷移

 更新時(shí)間:2020年06月17日 14:44:03   作者:小小范同學(xué)_  
這篇文章主要介紹了Android AndroidX的遷移,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 前言

AndroidX replaces the original support library APIs with packages in the androidx namespace. Only the package and Maven artifact names changed; class, method, and field names did not change.,Google不再對android support庫進(jìn)行維護(hù),android support中的API由命名空間AndroidX下的軟件包進(jìn)行替換,即相應(yīng)的包名Maven工件名發(fā)生改變。

2. 遷移AndroidX

2.1 遷移之前的準(zhǔn)備

原有項(xiàng)目的support庫版本升級至28(Android 9),這也是support library的最后版本,SDK 28 和AndroidX 1.0 是等效的。This is because AndroidX artifacts with version 1.0.0 are binary equivalent to the Support Library 28.0.0 artifacts.,

compileSdkVersion 28

建議使用Android studio 3.2或更高版本,(當(dāng)前最新版已經(jīng)到了4.0)。

gradle-wrapper.properties中Gradle插件版本不低于4.6。

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

如果代碼在版本控制器中,建議在單獨(dú)的分支中遷移。

2.2 執(zhí)行遷移

在gradle.properties文件中添加下列項(xiàng)。

# Android 插件會(huì)使用對應(yīng)的 AndroidX 庫而非支持庫。
android.useAndroidX=true
# Android 插件會(huì)通過重寫現(xiàn)有第三方庫的二進(jìn)制文件,自動(dòng)將這些庫遷移為使用 AndroidX,但并不完全自動(dòng)。
android.enableJetifier=true

如果是AS 3.2或更高版本,則提供了一鍵遷移,選擇菜單Refactor-> Migrate to AndroidX,會(huì)提示備份當(dāng)前工程,勾選Backup project as Zip file,可以自動(dòng)幫你備份。

左下角提示,點(diǎn)擊Do Refactor

3 遷移結(jié)果

在一鍵遷移之后,gradle文件中implementation的所有support庫被androidx替換,比如

implementation 'com.android.support:appcompat-v7:28.0.0' 
變?yōu)?
implementation 'androidx.appcompat:appcompat:1.0.0'

相應(yīng)類名也會(huì)發(fā)生改變

import android.support.v7.app.AppCompatActivity;
變?yōu)?
import androidx.appcompat.app.AppCompatActivity;

所以,可以先看看上面兩項(xiàng)結(jié)果,如果沒有替換成功,可手動(dòng)替換,相應(yīng)替換可查閱官方提供的CSV格式的依賴庫映射文件類映射文件。

rebuild project,如果編譯通過,那么恭喜你了,我反正是失敗了。

4 遷移出錯(cuò)

4.1 可手動(dòng)糾正的錯(cuò)

有的文件中沒能替換掉,需要按照上述兩項(xiàng)映射手動(dòng)替換。

檢查gradle中通過implementation引入的庫,比如implementation androidx.recyclerview:recyclerview:1.0.0',則一鍵遷移后導(dǎo)入的類為import androidx.appcompat.widget.RecyclerView;,需要替換為import androidx.recyclerview.widget.RecyclerView;,猜測只是全局替換掉support字樣。因?yàn)?code>類似還有GridLayoutManagerFragmentTransaction;`等。

4.2 第三方庫沖突

support庫和androidx是不能共存的,

  • 情況1 :當(dāng)遷移結(jié)束之后,理論上講自己的項(xiàng)目使用的是androidx,但是老項(xiàng)目中導(dǎo)入了許多第三方的庫,這些舊版本的庫使用的是support。
  • 情況2:這種情況發(fā)生在未進(jìn)行遷移的項(xiàng)目中,由于導(dǎo)入了最新版的第三方庫,而該庫使用了androidx,也會(huì)報(bào)錯(cuò)。

解決方法:

  • 情況1,更新第三方庫到最新版本或使用androidx的版本,如果這個(gè)庫沒有使用androidx的版本,那就要找其他的方案代替吧(不知道是否是正確的解決方案)。
  • 情況2:使用舊版本的第三方庫。

總之,就是多build,根據(jù)異常信息解決問題。

5 參考資料

AndroidX預(yù)覽

官方遷移教程

谷歌開發(fā)者-是時(shí)候遷移至 AndroidX 了

到此這篇關(guān)于Android AndroidX的遷移的文章就介紹到這了,更多相關(guān)AndroidX遷移內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

利川市| 南木林县| 曲阳县| 长治市| 黄梅县| 汉阴县| 章丘市| 定结县| 兰西县| 仁化县| 高清| 恩平市| 山阴县| 固始县| 金平| 江永县| 元氏县| 法库县| 肃北| 屏东市| 和硕县| 若尔盖县| 凤翔县| 南澳县| 社旗县| 伊宁市| 资源县| 靖西县| 兰坪| 林周县| 林西县| 基隆市| 三门峡市| 海伦市| 白玉县| 锡林郭勒盟| 东阿县| 视频| 新乡市| 普定县| 台北县|