什么是喷射器?例如,要使用 androidx 打包的依赖项创建一个新项目,这个新项目需要在 gradle.properties 文件中添加以下行:
android.enableJetifier=true
那么它是什么意思 - “启用喷射器”?
最佳答案
假设您熟悉 AndroidX
。如果没有,请看@this post .
Jetifier
will convertsupport libraries
of all your dependencies toAndroidX
automatically, if you don't set it totrue
then your project will have both, the support (got deprecated after 28.0.0 version) and AndroidX package, which is redundant.
举例
如果您的依赖项中有 PhotoView.java
。使用支持库 AppCompatImageView
。
import android.support.v7.widget.AppCompatImageView;
这个类现在被移动到androidx
包中,那么PhotoView
如何获取androidxAppCompatImageView
呢?并且应用仍然在设备中运行。
谁做的?
Jetifier, which converts all support package of dependency at build time.
Jetifier 将在构建项目时将 android.support.v7.widget.AppCompatImageView
转换为 androidx.appcompat.widget.AppCompatImageView
。
结论
从 Support Libraries 迁移时启用 Jetifier 很重要至AndroidX 。
见 this post了解有关 AndroidX 的更多信息。
信息
在使用依赖类时启用 Jetifier 后,您的代码可能会显示编译时错误。
您可以通过删除 .idea
、.gradle
并重新同步项目来删除它。
关于android - 什么是喷射器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51680671/