精华内容
下载资源
问答
  • 总是听到有人说AndroidX,到底什么是AndroidX

    万次阅读 多人点赞 2019-08-26 08:06:59
    不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大学介绍AndroidX的前世今生。 Android系统在刚刚面世的....

    本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。

    Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。

    Android系统在刚刚面世的时候,可能连它的设计者也没有想到它会如此成功,因此也不可能在一开始的时候就将它的API考虑的非常周全。随着Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存在,因此这就出现了一个向下兼容的问题。

    举个例子,当Android系统发布到3.0版本的时候,突然意识到了平板电脑的重要性,因此为了让Android可以更好地兼容平板,Android团队在3.0系统(API 11)中加入了Fragment功能。但是Fragment的作用并不只局限于平板,以前的老系统中也想使用这个功能该怎么办?于是Android团队推出了一个鼎鼎大名的Android Support Library,用于提供向下兼容的功能。比如我们每个人都熟知的support-v4库,appcompat-v7库都是属于Android Support Library的,这两个库相信任何做过Android开发的人都使用过。

    但是可能很多人并没有考虑过support-v4库的名字到底是什么意思,这里跟大家解释一下。4在这里指的是Android API版本号,对应的系统版本是1.6。那么support-v4的意思就是这个库中提供的API会向下兼容到Android 1.6系统。它对应的包名如下:

    类似地,appcompat-v7指的是将库中提供的API向下兼容至API 7,也就是Android 2.1系统。它对应的包名如下:

    可以发现,Android Support Library中提供的库,它们的包名都是以android.support.*开头的。

    但是慢慢随着时间的推移,什么1.6、2.1系统早就已经被淘汰了,现在Android官方支持的最低系统版本已经是4.0.1,对应的API版本号是15。support-v4、appcompat-v7库也不再支持那么久远的系统了,但是它们的名字却一直保留了下来,虽然它们现在的实际作用已经对不上当初命名的原因了。

    那么很明显,Android团队也意识到这种命名已经非常不合适了,于是对这些API的架构进行了一次重新的划分,推出了AndroidX。因此,AndroidX本质上其实就是对Android Support Library进行的一次升级,升级内容主要在于以下两个方面。

    第一,包名。之前Android Support Library中的API,它们的包名都是在android.support.*下面的,而AndroidX库中所有API的包名都变成了在androidx.*下面。这是一个很大的变化,意味着以后凡是android.*包下面的API都是随着Android操作系统发布的,而androidx.*包下面的API都是随着扩展库发布的,这些API基本不会依赖于操作系统的具体版本。

    第二,命名规则。吸取了之前命名规则的弊端,AndroidX所有库的命名规则里都不会再包含具体操作系统API的版本号了。比如,像appcompat-v7库,在AndroidX中就变成了appcompat库。

    一个AndroidX完整的依赖库格式如下所示:

    implementation 'androidx.appcompat:appcompat:1.0.2'
    

    了解了AndroidX是什么之后,现在你应该放轻松了吧?它其实并不是什么全新的东西,而是对Android Support Library的一次升级。因此,AndroidX上手起来也没有任何困难的地方,比如之前你经常使用的RecyclerView、ViewPager等等库,在AndroidX中都会有一个对应的版本,只要改一下包名就可以完全无缝使用,用法方面基本上都没有任何的变化。

    但是有一点需要注意,AndroidX和Android Support Library中的库是非常不建议混合在一起使用的,因为它们可能会产生很多不兼容的问题。最好的做法是,要么全部使用AndroidX中的库,要么全部使用Android Support Library中的库。

    而现在Android团队官方的态度也很明确,未来都会为AndroidX为主,Android Support Library已经不再建议使用,并会慢慢停止维护。另外,从Android Studio 3.4.2开始,我发现新建的项目已经强制勾选使用AndroidX架构了。

    那么对于老项目的迁移应该怎么办呢?由于涉及到了包名的改动,如果从Android Support Library升级到AndroidX需要手动去改每一个文件的包名,那可真得要改死了。为此,Android Studio提供了一个一键迁移的功能,只需要对着你的项目名右击 → Refactor → Migrate to AndroidX,就会弹出如下图所示的窗口。

    这里点击Migrate,Android Studio就会自动检查你项目中所有使用Android Support Library的地方,并将它们全部改成AndroidX中对应的库。另外Android Studio还会将你原来的项目备份成一个zip文件,这样即使迁移之后的代码出现了问题你还可以随时还原回之前的代码。

    好了,关于AndroidX的内容就讲到这里,相信也是解决了不少朋友心中的疑惑。由于这段时间以来一直在努力赶《第一行代码 第3版》的进度,所以原创文章的数量偏少了一些,也请大家见谅。


    关注我的技术公众号,每个工作日都有优质技术文章推送。

    微信扫一扫下方二维码即可关注:

    展开全文
  • AndroidX

    千次阅读 2019-04-27 13:46:29
    简介 Android团队用于Jetpack中开发、测试、打包、发布开源项目的库。androidX对原始Android支持库重大改进。同支持库一样,androidX与Android...AndroidX所有软件包都字符串开头,位于一致命名空间androidx中。支...

    简介

    Android团队用于Jetpack中开发、测试、打包、发布开源项目的库。API 28(Android 9.0,Pie)开始,Google推荐开发者从原各支持库转移到一新版名androidX支持库。较老支持库无需操心版本控制、实时更新。原支持库将保留且可继用,但接下来所有新支持都发布于androidX。androidX对原始Android支持库重大改进。同支持库一样,androidX与Android操作系统分开提供并支持跨Android版向后兼容。androidX通提供功能奇偶校验和新库完全取代支持库。此外androidX含下功能:

    • androidX所有软件包都字符串开头,位于一致命名空间androidx中。支持库包已映射到相应androidx.*包中。有关所有旧类和构建工件完整映射到新构件,请参阅包重构页面。
    • 同支持库不同,androidX软件包单独维护和更新,用严格语义版本控制,1.0.0开始可单独更新项目中androidX库。
    • 所有新支持库开发都将于androidX库进行,包括维护原始支持库工件和引入新Jetpack组件。

    其实就是对安卓过往v7、v4、design等系列包整合。不用多次添、核版本号,方便开发。

    资料

    映射

    旧包 androidX
    android.arch.core:common androidx.arch.core:core-common:2.0.0-rc01
    android.arch.core:core androidx.arch.core:core:2.0.0-rc01
    android.arch.core:core-testing androidx.arch.core:core-testing:2.0.0-rc01
    android.arch.core:runtime androidx.arch.core:core-runtime:2.0.0-rc01
    android.arch.lifecycle:common androidx.lifecycle:lifecycle-common:2.0.0-rc01
    android.arch.lifecycle:common-java8 androidx.lifecycle:lifecycle-common-java8:2.0.0-rc01
    android.arch.lifecycle:compiler androidx.lifecycle:lifecycle-compiler:2.0.0-rc01
    android.arch.lifecycle:extensions androidx.lifecycle:lifecycle-extensions:2.0.0-rc01
    android.arch.lifecycle:livedata androidx.lifecycle:lifecycle-livedata:2.0.0-rc01
    android.arch.lifecycle:livedata-core androidx.lifecycle:lifecycle-livedata-core:2.0.0-rc01
    android.arch.lifecycle:reactivestreams androidx.lifecycle:lifecycle-reactivestreams:2.0.0-rc01
    android.arch.lifecycle:runtime androidx.lifecycle:lifecycle-runtime:2.0.0-rc01
    android.arch.lifecycle:viewmodel androidx.lifecycle:lifecycle-viewmodel:2.0.0-rc01
    android.arch.paging:common androidx.paging:paging-common:2.0.0-rc01
    android.arch.paging:runtime androidx.paging:paging-runtime:2.0.0-rc01
    android.arch.paging:rxjava2 androidx.paging:paging-rxjava2:2.0.0-rc01
    android.arch.persistence.room:common androidx.room:room-common:2.0.0-rc01
    android.arch.persistence.room:compiler androidx.room:room-compiler:2.0.0-rc01
    android.arch.persistence.room:guava androidx.room:room-guava:2.0.0-rc01
    android.arch.persistence.room:migration androidx.room:room-migration:2.0.0-rc01
    android.arch.persistence.room:runtime androidx.room:room-runtime:2.0.0-rc01
    android.arch.persistence.room:rxjava2 androidx.room:room-rxjava2:2.0.0-rc01
    android.arch.persistence.room:testing androidx.room:room-testing:2.0.0-rc01
    android.arch.persistence:db androidx.sqlite:sqlite:2.0.0-rc01
    android.arch.persistence:db-framework androidx.sqlite:sqlite-framework:2.0.0-rc01
    com.android.support.constraint:constraint-layout androidx.constraintlayout:constraintlayout:1.1.2
    com.android.support.constraint:constraint-layout-solver androidx.constraintlayout:constraintlayout-solver:1.1.2
    com.android.support.test.espresso.idling:idling-concurrent androidx.test.espresso.idling:idling-concurrent:3.1.0
    com.android.support.test.espresso.idling:idling-net androidx.test.espresso.idling:idling-net:3.1.0
    com.android.support.test.espresso:espresso-accessibility androidx.test.espresso:espresso-accessibility:3.1.0
    com.android.support.test.espresso:espresso-contrib androidx.test.espresso:espresso-contrib:3.1.0
    com.android.support.test.espresso:espresso-core androidx.test.espresso:espresso-core:3.1.0
    com.android.support.test.espresso:espresso-idling-resource androidx.test.espresso:espresso-idling-resource:3.1.0
    com.android.support.test.espresso:espresso-intents androidx.test.espresso:espresso-intents:3.1.0
    com.android.support.test.espresso:espresso-remote androidx.test.espresso:espresso-remote:3.1.0
    com.android.support.test.espresso:espresso-web androidx.test.espresso:espresso-web:3.1.0
    com.android.support.test.janktesthelper:janktesthelper androidx.test.jank:janktesthelper:1.0.1
    com.android.support.test.services:test-services androidx.test:test-services:1.1.0
    com.android.support.test.uiautomator:uiautomator androidx.test.uiautomator:uiautomator:2.2.0
    com.android.support.test:monitor androidx.test:monitor:1.1.0
    com.android.support.test:orchestrator androidx.test:orchestrator:1.1.0
    com.android.support.test:rules androidx.test:rules:1.1.0
    com.android.support.test:runner androidx.test?1.1.0
    com.android.support:animated-vector-drawable androidx.vectordrawable:vectordrawable-animated:1.0.0
    com.android.support:appcompat-v7 androidx.appcompat:appcompat:1.0.0
    com.android.support:asynclayoutinflater androidx.asynclayoutinflater:asynclayoutinflater:1.0.0
    com.android.support:car androidx.car?1.0.0-alpha5
    com.android.support:cardview-v7 androidx.cardview:cardview:1.0.0
    com.android.support:collections androidx.collection:collection:1.0.0
    com.android.support:coordinatorlayout androidx.coordinatorlayout:coordinatorlayout:1.0.0
    com.android.support:cursoradapter androidx.cursoradapter:cursoradapter:1.0.0
    com.android.support:customtabs androidx.browser:browser:1.0.0
    com.android.support:customview androidx.customview:customview:1.0.0
    com.android.support:design com.google.android.material:material:1.0.0-rc01
    com.android.support:documentfile androidx.documentfile:documentfile:1.0.0
    com.android.support:drawerlayout androidx.drawerlayout:drawerlayout:1.0.0
    com.android.support:exifinterface androidx.exifinterface:exifinterface:1.0.0
    com.android.support:gridlayout-v7 androidx.gridlayout:gridlayout:1.0.0
    com.android.support:heifwriter androidx.heifwriter:heifwriter:1.0.0
    com.android.support:interpolator androidx.interpolator:interpolator:1.0.0
    com.android.support:leanback-v17 androidx.leanback:leanback:1.0.0
    com.android.support:loader androidx.loader:loader:1.0.0
    com.android.support:localbroadcastmanager androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
    com.android.support:media2 androidx.media2:media2:1.0.0-alpha03
    com.android.support:media2-exoplayer androidx.media2:media2-exoplayer:1.0.0-alpha01
    com.android.support:mediarouter-v7 androidx.mediarouter:mediarouter:1.0.0
    com.android.support:multidex androidx.multidex:multidex:2.0.0
    com.android.support:multidex-instrumentation androidx.multidex:multidex-instrumentation:2.0.0
    com.android.support:palette-v7 androidx.palette:palette:1.0.0
    com.android.support:percent androidx.percentlayout:percentlayout:1.0.0
    com.android.support:preference-leanback-v17 androidx.leanback:leanback-preference:1.0.0
    com.android.support:preference-v14 androidx.legacy:legacy-preference-v14:1.0.0
    com.android.support:preference-v7 androidx.preference:preference:1.0.0
    com.android.support:print androidx.print:print:1.0.0
    com.android.support:recommendation androidx.recommendation:recommendation:1.0.0
    com.android.support:recyclerview-selection androidx.recyclerview:recyclerview-selection:1.0.0
    com.android.support:recyclerview-v7 androidx.recyclerview:recyclerview:1.0.0
    com.android.support:slices-builders androidx.slice:slice-builders:1.0.0
    com.android.support:slices-core androidx.slice:slice-core:1.0.0
    com.android.support:slices-view androidx.slice:slice-view:1.0.0
    com.android.support:slidingpanelayout androidx.slidingpanelayout:slidingpanelayout:1.0.0
    com.android.support:support-annotations androidx.annotation:annotation:1.0.0
    com.android.support:support-compat androidx.core:core:1.0.0
    id.support:support-content androidx.contentpager:contentpager:1.0.0
    com.android.support:support-core-ui androidx.legacy:legacy-support-core-ui:1.0.0
    com.android.support:support-core-utils androidx.legacy:legacy-support-core-utils:1.0.0
    com.android.support:support-dynamic-animation androidx.dynamicanimation:dynamicanimation:1.0.0
    com.android.support:support-emoji androidx.emoji:emoji:1.0.0
    com.android.support:support-emoji-appcompat androidx.emoji:emoji-appcompat:1.0.0
    com.android.support:support-emoji-bundled androidx.emoji:emoji-bundled:1.0.0
    com.android.support:support-fragment androidx.fragment:fragment:1.0.0
    com.android.support:support-media-compat androidx.media:media:1.0.0
    com.android.support:support-tv-provider androidx.tvprovider:tvprovider:1.0.0
    com.android.support:support-v13 androidx.legacy:legacy-support-v13:1.0.0
    com.android.support:support-v4 androidx.legacy:legacy-support-v4:1.0.0
    com.android.support:support-vector-drawable androidx.vectordrawable:vectordrawable:1.0.0
    com.android.support:swiperefreshlayout androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
    com.android.support:textclassifier androidx.textclassifier:textclassifier:1.0.0
    com.android.support:transition androidx.transition:transition:1.0.0
    com.android.support:versionedparcelable androidx.versionedparcelable:versionedparcelable:1.0.0
    com.android.support:viewpager androidx.viewpager:viewpager:1.0.0
    com.android.support:wear androidx.wear:wear:1.0.0
    com.android.support:webkit androidx.webkit:webkit:1.0.0

    使用

    创工程

    gradle.properties

    问一

    场景
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3
    

    升级为

    implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha4
    
    日志
    1 exception was raised by workers:
      com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
      C:\Users\MSI\.gradle\caches\transforms-2\files-2.1\39772d19a0378dca5edc31c83e1b266f\res\values\values.xml:265:5-600: AAPT: error: duplicate value for resource 'attr/pivotX' with config ''.
          
      C:\Users\MSI\.gradle\caches\transforms-2\files-2.1\39772d19a0378dca5edc31c83e1b266f\res\values\values.xml:265:5-600: AAPT: error: resource previously defined here.
          
      C:\Users\MSI\.gradle\caches\transforms-2\files-2.1\39772d19a0378dca5edc31c83e1b266f\res\values\values.xml:265:5-600: AAPT: error: duplicate value for resource 'attr/pivotY' with config ''.
          
      D:\AndroidStudioProjects\LaLaLa\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml: error: file failed to compile.
    
    分析

    出错:

    pivot is already defined as view attribute. that might be the reason you are having this issue. 
    Try prefixing some label may be like transformPivotX and this might work. Do this for all the attribute you have in image shared.
    

    参考

    解决

    pivotXvaluePivotXpivotYvaluePivotY

    展开全文
  • androidx

    千次阅读 2018-05-30 11:52:56
    android x 使用,官方有详细blog,可以让自己少踩些坑,介绍了新创建的项目和老项目中如何使用android x,androidx替换的support包中哪些内容,以及提到过渡,会继续在新的supper包28中添加一些androidx中的内容。...

           android x 使用,官方有详细blog,可以让自己少踩些坑,介绍了新创建的项目和老项目中如何使用android x,androidx替换的support包中哪些内容,以及提到过渡,会继续在新的supper包28中添加一些androidx中的内容。

    If you don't want to switch over to the new androidx and com.google.android.material packages yet, you can use Material Components via the com.android.support:design:28.0.0-alpha1 dependency.

    Note: You should not use the com.android.support and com.google.android.material dependencies in your app at the same time.

     ----摘自 :https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md

    相关内容:

    https://android-developers.googleblog.com/2018/05/hello-world-androidx.html

    https://developer.android.com/topic/libraries/support-library/revisions#28-0-0-alpha1

    注意如果项目中引用了

    compile 'com.google.android.material:material:1.0.0-alpha1'

    会同时引入 android x ,会和support 包冲突。

    如下文blog :

    https://juejin.im/post/5afbd66ef265da0b7d0b8e5f


    展开全文
  • AndroidX了解一下

    万次阅读 多人点赞 2018-08-06 09:25:31
    1.前言 我选取了几个常用依赖库,我们可以看看变化: Old build artifact AndroidX build artifact com.android.support:support-compat ... androidx.core:core:1.0.0+ ... androidx.appco...

    推荐阅读:Android 开发高手课 温故知新篇

    1.说明

    官方原文如下

    We hope the division between android.* and androidx.* makes it more obvious which APIs are bundled with the platform, and which are static libraries for app developers that work across different versions of Android.

    简单地说就是新的库可以在不同的Android版本上使用。比如之前我们如果使用support为27.1.1的相关依赖库时。可能需要所有相关的support 库都为27.1.1。如果其中有bug的话,可能需要所有的都去升级,存在一个绑定关系,而且正式版的发布周期也很长。

    通过AndroidX,我们可以看到实时实现的特性和bug修复。升级个别依赖,不需要对使用的所有其他库进行更新。这就和我们使用Github上的开源库一样的,出了问题,我们可以提出bug和意见。作者修复后,发布新版本,我们就可以直接替换使用了。更加的透明便捷。

    2.变化

    我选取了几个常用依赖库,我们可以看看变化:

    Old build artifact AndroidX build artifact
    com.android.support:support-compat androidx.core:core:1.0.0+
    com.android.support:appcompat-v7 androidx.appcompat:appcompat:1.0.0+
    com.android.support:design com.google.android.material:material:1.0.0+
    com.android.support:multidex androidx.multidex:multidex:2.0.0+
    com.android.support:recyclerview-v7 androidx.legacy:legacy-support-v4:1.0.0+
    com.android.support:viewpager androidx.viewpager:viewpager:1.0.0+
    com.android.support:support-fragment androidx.fragment:fragment:1.0.0+

    当然涉及的不止这些库,更详细的变化内容可以查看官方文档

    我们可以添加appcompat依赖对比一下:

    implementation 'com.android.support:appcompat-v7:28.0.0-beta1'
    或
    implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
    

    可以看到详细变化

      

    同时我们看到viewpagerswiperefreshlayoutcoordinatorlayout 等一些UI组件被分离了出来,这样也是便于更好的使用,职责分明,以减轻不使用ProGuardMultidex的应用程序和测试的压力。

    3.影响

    官方博客中有说道,为了给开发者一定迁移的时间,所以28.0.0的稳定版本还是采用android.support。但是所有后续的功能版本都将采用androidx

    其实对于我们影响也不是很大,我们可以选择不使用,毕竟不是强制的。但长远看来还是有好处的。接受变化,拥抱变化也是我们程序猿需要有的精神,欢迎尝试。

    对于有写一些开源项目的人,可能会有一些影响。比如你有一个关于RecyclerView的拓展库,那么你就需要去让他支持AndroidX,否则你懂的。

    我有去看了一下我们常用的butterknifeglide 等都已经适配了AndroidX,不得不说真是很良心。

    在这里插入图片描述

    在这里插入图片描述

    4.迁移

    如果一个一个去替换当然很麻烦了,所以在Android Studio 3.2 Canary中添加了一键迁移的功能Refactor -> Migrate to AndroidX

    首先你的gradle版本至少为3.2.0以上,以及compileSdkVersion为28以上。

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

    如果你是一个新项目,如果使用AndroidX相关依赖,需要在gradle.properties文件里添加配置:

    android.useAndroidX=true
    android.enableJetifier=true
    

    如果你想使用AndroidX,但是之前的不迁移,可以这样配置:

    android.useAndroidX=true
    android.enableJetifier=false
    

    5.参考

    当然迁移最好是出了正式版后在尝试。这里目的也就和标题一样,了解一下(坚决不做标题党哈)。


    19.02.12补充

    今天看到了butterknife的一个Issues

    在这里插入图片描述

    大意就是butterknife最新的10.0.0已经不支持老版库,如果需要使用,只能使用9.0.0这版。这也就是一种趋势,希望开源作者和使用者互相约束,共同推广AndroidX

    19.09.24补充

    Android Studio 3.5开始(可能更早吧),新建项目默认“强制”使用AndroidX。项目中的support依赖自动替换为AndroidX对应的依赖包。

    这主要是gradle.properties文件中的 android.enableJetifier=true在起作用。如果你想迁移到AndroidX,也可以添加这行配置,这样就不用担心之前开源项目未适配的情况。

    展开全文
  • 2020年是时候迁移AndroidX

    万次阅读 2020-04-21 12:11:09
    2018开始Andorid 已经宣布不再维护support, 最终定版在28.0.0, 而现在最新AS(Android Studio )项目新建默认都是AndroidX,甚至都不支持Android(特殊手段可以修改),这对新项目基本没有影响,但是对新建module会带来很大...
  • androidx.recyclerview:recyclerview的使用

    万次阅读 多人点赞 2019-06-10 18:18:12
    添加扩展 或手动修改app/build.gradle...implementation 'androidx.recyclerview:recyclerview:1.0.0' 新建布局layout item布局fruit_item.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
  • Android studio 禁用AndroidX

    千次阅读 2019-07-24 14:05:28
    gradle.properties文件中添加 android.useAndroidX=false #禁用AndroidX android.enableJetifier=false #禁止第三方jar包使用androidX
  • Android Jetpack和AndroidX

    千次阅读 2019-08-21 14:48:11
    文章目录Android Jetpack和AndroidX是什么?Jetpack:Android Jetpack 组件AndroidX什么联系?官方链接推荐 Android Jetpack和AndroidX是什么? Jetpack: Jetpack 是一套库、工具和指南。 Jetpack 包含与...
  • Android项目升级AndroidX

    千次阅读 2019-08-29 10:22:35
    强烈建议:把项目升级到AndroidX一定一定要新建分支来操作,不然升级不了(使用的某些第三方还没有支持android等其他情况),可是又回不原先的项目,就…… 1.gradle下修改Version 若是模块化,强烈建议用config...
  • 原来的很多库都是 基于Android 原来的平台 如 28 、26 、27 。 ... 1.修改项目的gradle.properties 添加如下代码 android.useAndroidX=true android.enableJetifier=true ...implementation 'androidx.appc...
  • 【AS-AndroidXAndroidX的迁移

    千次阅读 2019-11-08 17:19:58
    1. AndroidX的变化 1.1)常用依赖库的对比 1.2)常用支持库类对比 2. AndroidX的手动迁移 2.1)更新升级插件 2.2)开始迁移AndroidX 2.3)替换依赖库 2.4)修改Java和Xml文件中的支持库类 2.4.1) 修改方式一...
  • 配置gradle.properties,将依赖库中的代码也转为androidx 大多项目通过以上两步就可以转换完成了 但是annotationProcessor类型的依赖,是无法通过以上操作转换的 比如butterknife的注解处理器,这时要将版本号升级...
  • Android 中使用AndroidX

    千次阅读 2018-12-24 10:20:37
    Google的升级指导,android对应Androidx库,如果是旧的项目,请手动搜索库手动替换:例如把 com.android.support:appcompat-v7替换成androidx.appcompat:appcompat:1.0.0 我有一个目前有一个错误没...
  • Androidx跟Android的区别

    千次阅读 2020-05-26 14:28:06
    AndroidX 是对support library 的一次升级:包名 从在android.support.*下面变成androidx.*下面。命名规则不会再包含具体操作系统API的版本号了。 未来以AndroidX为主,Android support library不建议使用。创建新的...
  • Android Jetpack 之AndroidX

    千次阅读 2019-05-15 21:32:37
    随着Android 9.0(API级别28)的发布,有一个名为AndroidX的支持库的新版本,它是Jetpack的一部分。AndroidX库包含现有的支持库,还包括最新的Jetpack组件。 您可以继续使用支持库。历史工件(那些版本为27及更早...
  • Android studio升级AndroidX

    千次阅读 2019-06-29 13:28:53
    在开发flutter APP的时候,因为某个包的引入导致现在需要将Android Studio升级AndroidX,这个坑也是挺深的 flutter构建APP的时候报以下的错误: The Gradle failure may have been because of AndroidX ...
  • Android 快速迁移到Android X

    千次阅读 2019-11-15 10:14:02
    越来越多的第三方库新版本开始只支持Android X,为了支持新特性,需要将项目迁移至Android X。经历三个公司项目Android X项目的迁移,感觉迁移还是比较简单的,现对此进行总结。 1.配置启用Android XAndroid ...
  • Jetpack插件化学习之AndroidX–Android项目升级到AndroidX 先挖个坑,后续几天填一下。
  • 老项目、大项目适配Android X 注意了,一定要谨慎、谨慎、再谨慎。项目中用到的第三方库多的话会很麻烦,有些第三方库还没有适配Android X。 适配Android X的两种情况:一种是老项目适配Android X ,另外一种是新...
  • AndroidX和旧版本包对照表: 最下面是使用方法: 旧包 AndroidX android.arch.core:common androidx.arch.core:core-common:2.0.0-rc01 android.arch.core:core androidx.arch.core:core:2.0.0-rc01 ...
  • Android 和 Androidx 互相转换

    千次阅读 2019-12-26 14:28:30
    最近在升级Androidx,发现很多的架包都是support lib 并不能使用androidx。 最后经过一波疯狂度娘,发现可以使用jetifier-standalone可以转换第三方的架包。... android -->androidx...
  • Migrating to AndroidX (迁移至androidX)

    千次阅读 2019-03-06 13:54:15
    无论在 android 开发中 还是 flutter 开发中,都会面临迁移 AndroidX 的问题 官方有一个说明,可以参考链接 下面是我总结的修改方式 迁移到 androidX 修改 andorid 目录下的 app/build.gradle android{ ...
  • androidX与android.support

    千次阅读 2020-04-10 17:55:28
    按照官方文档说明 AndroidX 是对 android.support.xxx 包的整理后产物。由于之前的 support 包过于混乱,所以,Google 推出了AndroidX。 由于在后续版本中,会逐步放弃对 support 的升级和维护,所以,我们必须尽快...
  • android 项目迁移到 AndroidX

    千次阅读 2019-07-25 12:54:45
    使用 Android Studio 迁移现有... Migrate to AndroidX,快速迁移现有项目以使用 AndroidX。 如果您有任何尚未迁移至 AndroidX 命名空间的 Maven 依赖项,那么当您在gradle.properties文件中将以下两个标记设置为...
  • Android Studio:AndroidX的迁移

    千次阅读 2020-01-22 17:56:05
    目录 ...早在Google 2018 IO 大会就推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,androidx 是对 android.support.xxx 包的整理后得产物。由于之前的support包过于混乱,所...
  • Android Jetpack AndroidX 依赖目录

    千次阅读 2018-08-31 14:59:59
    来源:阿里云Google镜像仓库 ... * AndroidX libs */ implementation 'androidx.annotation.annotation:1.0.0-rc01' implementation 'androidx.appcompat.appcompat:1.0.0-rc01' implementat...
  • 升级AndroidX

    千次阅读 2019-04-03 11:04:46
    很多人在升级Android Studio之后,发现项目疯狂报错,经过一番搜索,结论是你的项目需要进行AndroidX升级了。 如何对老的项目进行AndroidX升级了,下面是几个步骤: 1、 ...
  • 【AS-AndroidX】迁移AndroidX带来的问题

    千次阅读 2019-11-12 12:50:17
    ---------------------------------------------------------------------------------------------...迁移主原文:https://blog.csdn.net/dandelionela/article/details/102976961 # 【AS-AndroidXAndroidX的迁...
  • AndroidX适配教程

    千次阅读 2019-08-14 14:58:21
    AndroidX概述 AndroidX是Android团队用于在Jetpack中开发,测试,打包,版本和发布库的开源项目 。AndroidX是对原始Android 支持库的重大改进 。与支持库一样,AndroidX与Android操作系统分开提供,并提供跨Android...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,203
精华内容 27,681
关键字:

androidx