android - 什么是喷射器?

标签 android gradle androidx

什么是喷射器?例如,要使用 androidx 打包的依赖项创建一个新项目,这个新项目需要在 gradle.properties 文件中添加以下行:

android.enableJetifier=true

那么它是什么意思 - “启用喷射器”?

最佳答案

假设您熟悉 AndroidX。如果没有,请看@this post .

Jetifier will convert support libraries of all your dependencies to AndroidX automatically, if you don't set it to true 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 并重新同步项目来删除它。

image2

image1

关于android - 什么是喷射器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51680671/

相关文章:

android - AndroidX 中的 Snackbar 包

android - 空指针异常 mapview.onResume

android - 如何在Android上检查WiFi连接是否有互联网

java - 通知未在指定时间显示

android - 如何在 Activity 开始时等待服务

android - Jacoco 代码覆盖 Android Studio 不考虑 androidTest 文件夹

android - 跨模块共享编译依赖项

groovy - 如何运行具有依赖项的Java groovy混合项目

Android 模拟器不检测 GPS

Android Test Orchestrator 无法与 Android X 配合使用