Kse*_*nia 80 android gradle androidx
什么是Jetifier?例如,要使用androidx打包的依赖项创建一个新项目,这个新项目需要将以下行添加到gradle.properties文件中:
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
那是什么意思 - "启用jetifier"?
Khe*_*raj 60
假设你知道AndroidX
,如果没有 - 请看@ 这篇文章.
Jetifier
将support libraries
所有依赖项AndroidX
自动转换为自动转换,如果不设置它,true
那么您的项目将同时支持(在28.0.0版本之后弃用)和AndroidX包,这是多余的.
如果你有PhotoView.java
依赖.那使用支持库AppCompatImageView
.
import android.support.v7.widget.AppCompatImageView;
Run Code Online (Sandbox Code Playgroud)
这个类现在被移动到androidx
包,那么如何PhotoView
获得androidx AppCompatImageView
?而app仍在设备中运行.
是谁跑了?
Jetifier,在构建时转换所有依赖的支持包.
Jetifier将转变android.support.v7.widget.AppCompatImageView
到androidx.appcompat.widget.AppCompatImageView
同时建设该项目.
从支持库迁移到AndroidX时,启用Jetifier非常重要.
请参阅此帖子以了解有关AndroidX的更多信息.
在使用依赖类时启用Jetifier后,您的代码可能会显示编译时错误.您可以通过删除删除.idea
,.gradle
并重新同步项目.
sil*_*war 50
今年的谷歌I/O(18),谷歌已经宣布Jetpack是一个集合/库集合,使开发人员的生活更轻松.
Jetpack包括以前推出的Android架构组件(ViewModel,Room,Paging,LiveData等)以及新引入的架构组件,如WorkManager,Navigation.除此之外,Jetpack还有其他一些库,如AndroidX,AndroidKTX等.
AndroidX是Android支持库的新包结构,如支持,数据绑定,设计等.
例如,现在在病房开发人员将使用androidx.databinding.而不是android.databinding.在我们的项目中导入库
这使Google能够在库包中添加SemVer或Semantic Versioning.对于开发人员,这意味着我们不必为所有支持库使用相同的支持库版本.每个支持或更好的说AndroidX库将保持自己的版本.
开发人员的另一个优点是我们不必关心为项目中的所有支持库维护相同的版本.
要在out项目中使用AndroidX,我们必须将项目的targetSdkVersion设置为28,并在gradle.properties文件中添加以下2行.
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
我希望这会回答你的问题.
编辑
此链接包含所有支持库组件与其AndroidX计数器部分的映射.
另请参阅此博客以获取有关AndroidX的详细说明
UPDATE
根据Jetifier的官方文件
Jetifier工具迁移依赖于支持库的库,而不是依赖于等效的AndroidX软件包.该工具允许您直接迁移单个库,而不是使用与Android Studio捆绑在一起的Android gradle插件.
喷射器
jetifier是一个方便的工具,可以在构建时自动dependencies
迁移到。AndroidX
如果没有它,您需要使用的每个依赖项都有一个 AndroidX 版本才能迁移,而这可能在一段时间内不会发生。
有一个需要注意的重要限制:喷射器仅适用于包装好的工件。它不适用于您的源代码,您需要自行更新
要启用 AndroidX,您需要在gradle.properties
文件中添加 2 个标志。第一个标志告诉 Android 插件使用AndroidX
包而不是AppCompat
,第二个标志将启用Jetifier
:
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
Jetifier有助于将android项目迁移到AndroidX。
Jetifier有助于使第三方库与您的AndroidX项目兼容。
如果您在android项目中未使用任何第三方库,则无需使用Jetifier,因为在迁移到AndroidX的情况下,Jetifier仅有助于“使第三方库”与您的项目兼容。因此,要使您的项目使用Jetifier,请在gradle.properties中编写以下代码。
android.enableJetifier=true
android.useAndroidX=true
Run Code Online (Sandbox Code Playgroud)
如果您不迁移到AndroidX并使用以前使用Android库的方式(例如com.android.support),则无需使这些第三方库兼容,因为这些第三方库已经与以前的方式兼容。使用Android库。在那种情况下,您不需要使用Jetifier,因此,现在,您不需要编写上面给出的行,或者您可以简单地编写以下内容来更改将来的值以移至androidx:
android.enableJetifier=false
android.useAndroidX=false
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35856 次 |
最近记录: |