详解Android Studio3.5及使用AndroidX的一些坑

详解Android Studio3.5及使用AndroidX的一些坑,第1张

概述详解Android Studio3.5及使用AndroidX的一些坑 google的更新优化往往会牵动一大批开发者的心.去年的androidx,到今年studio3.5后都默认使用androidx了.其实对于我们开发者而言,我们都只是调用他的api,对我们的影响不大??!可是人性的习惯,还是比较不那么容易改变的.现在我就来说说我遇到的一些坑吧.话说还是很严重.不知道androidx的请自行百度. 一.我们从新建一个项目说. 3.5新建项目,是默认使用androidx的 看最后一样,Use androidx.* artifacts.而且不能取消掉的. 那么到我们项目

Google的更新优化往往会牵动一大批开发者的心。去年的androIDx,到今年Studio3.5后都默认使用androIDx了。其实对于我们开发者而言,我们都只是调用他的API,对我们的影响不大??!可是人性的习惯,还是比较不那么容易改变的。现在我就来说说我遇到的一些坑吧。话说还是很严重。不知道androIDx的请自行百度。

一、我们从新建一个项目说。

3.5新建项目,是默认使用androIDx的


看最后一样,Use androIDx.* artifacts。而且不能取消掉的。

那么到我们项目里,这一点就对应于我们的 gradle.propertIEs文件里的2句话

androID.useandroidX=true# automatically convert third-party librarIEs to use AndroIDXandroID.enableJetifIEr=true

1.1、那么这两句话代表什么呢

意思就是,你所用的support的包,他会自动帮你迁移到androIDx里。这里举个例子(接下来的例子出现的BUG是针对系统库的),比如我们之前经常会用support里的AppbarLayout组合CoordinatorLayout实现很酷炫的效果。我们都知道,这个是在support的design里。那么我们还是把它添加进去, 注意:Studio3.5后添加包会有点不一样

右键你的项目,选中Open Module Setting


在打开的界面,选中DependencIEs,点击里面的加号,继续选择library Dependency


在搜索框里,搜索design。出现一堆(androIDx的版本就是这样选择的),这里我们选择com.androID.support


选择加入后,studio会自动build,并加入依赖。build.gradle会加上

implementation 'com.androID.support:design:28.0.0'

注意:此时你去xml打上AppbarLayout,并不会提示,甚至根本就没有。个人觉得的是因为Studio3.5优化的太好了,不会随便你帮我们rebuild项目,也不知道是不是BUG;这个时候点击build --> Rebuild Project,项目。之后xml使用正常,如下

<com.Google.androID.material.appbar.AppbarLayout  androID:layout_wIDth="match_parent"  androID:layout_height="?actionbarSize"/>

你会发现,这里不是support的包,点进去已经是迁移完的androIDx的包。正是因为 gradle.propertIEs 那两句话,帮我们完成了。build.gradle显示的还是support的包,怎么办

额外注意:就如上面说的那个类似BUG的问题,假如此时你再build.gradle去掉了这个依赖,如果按之前的 *** 作,我们都会点击Sync Projec with Gradl files,去更新下。之后项目就没这个包了。没错,Studio3.5也是这样,但是你再xml里,继续打AppbarLayout后,依旧会提示,而且xml里不报错,能运行。只是运行后,才会崩溃报错。正确做法还是需要,在去掉依赖后,继续点击下Rebuild Project,这时候才会正常。(感觉这个时候就是BUG了)

二、一键将build.gradle的support包改成andorIDx

点击 Refactor --> Migrate to AndroIDX


后续一直点默认,我这里就不贴图了,直接说 *** 作,Migrate --> (选择我们的项目,点击OK) --> YES。后会d出下图,


点击Do Refactor。之后,那么'com.androID.support:design:28.0.0'会直接改变成响应的androIDx包

implementation 'com.Google.androID.material:material:1.0.0'

三、可能有些人升级了studio,但是却不像使用androIDx

正确做法是,把 gradle.propertIEs 里那2句话去掉。同时,把你的build.gradle改成你之前的support包。我们知道support包最后一版本是28。之后一切导包,都不会在迁移了。是support,就是support包。

希望本篇能帮助一些人。再放一个support迁移到androIDx的对照 support To androidx

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

总结

以上是内存溢出为你收集整理的详解Android Studio3.5及使用AndroidX的一些坑全部内容,希望文章能够帮你解决详解Android Studio3.5及使用AndroidX的一些坑所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1144313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存