Android Jetifier工具的使用

独立的 Jetifier 工具可将依赖于支持库的库迁移为依赖于等效的 AndroidX 软件包。该工具可让您直接迁移单个库,而无需使用 Android Studio 附带的 Android Gradle 插件。

注意 :在开始迁移之前,请更新您的库以使用支持库的 28.0.0 版。

安装 Jetifier

如需安装 Jetifier,请下载 zip 文件并将其解压缩。您的设备必须安装有 Java 1.8 或更高版本。

用法

如需处理库,请传递当前库的路径以及该工具应创建的输出文件的路径。Jetifier 支持 JAR、AAR 和 ZIP 文件,包括嵌套归档。

./jetifier-standalone -i <source-library> -o <output-library>

选项

下表列出了 Jetifier 工具命令的可用选项:

选项是否必需?说明
-i--input <path>输入库(JAR、AAR 或 ZIP)的路径。
-o--output <path>输出文件的路径。如果该文件已存在,Jetifier 会覆盖它。
-c--config <path>可选自定义配置文件的路径。
-l--log <level>日志记录级别。允许的值有:
  • 错误
  • 警告
  • 信息
  • 详细
如果未指定,则默认为“警告”。
-r以反向模式运行(“de-jetification”)。
-rebuildTopOfTree,
--rebuildTopOfTree
根据生成的 POM 文件重新构建 Maven 发行版的 ZIP 文件。
如果设置此参数,系统会假定所有重写的库都是支持库的一部分。不需要 Jetifier 处理。
-s--strict不要在缺少规则的情况下进行回退;而是抛出错误。
-stripSignatures,
--stripSignatures
在对已签名的库进行 Jetifier 处理时不抛出错误;而是删除签名文件。
-t-timestamp <arg>供归档条目用作其修改时间的时间戳政策。值:keepPrevious(默认)周期或现在。
示例

以下示例会对库 libraryToProcess.aar(在当前目录中)运行该实用程序,并将输出写入同一目录中的 result.aar

./jetifier-standalone -i libraryToProcess.aar -o result.aar

使用说明

Jetifier 会迁移指向 android.support.* 软件包的 Java、XML、POM 和 ProGuard 引用,更改它们以使其指向相应的 androidx.* 软件包。

由于 android.support.* 的 ProGuard 通配符并不总是直接映射到 androidx.* 软件包,因此 Jetifier 会生成所有符合条件的替代项。

如果 android.support.* 软件包中的某个类型不是来自任何支持库工件,那么只要该类型存在相关的映射,Jetifier 就会迁移该类型。但是,不能保证此迁移一定可行,因为可能没有足够通用的映射规则来涵盖所有自定义类型。

高级用法

Jetifier 实用程序支持一些高级用例。

反向模式

如果您传递 -r 标记,该实用程序会以反向模式运行。在此模式下,该实用程序会将 AndroidX API 转换为支持库的等效项。反向模式在以下情况下很有用:您正在开发使用 AndroidX API 的库,但还需要分发使用支持库的版本。

示例

以下示例会以反向模式对库 myAndroidXLib.aar(在当前目录中)运行该实用程序,并将输出写入同一目录中的 supportLibVersion.aar

./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar

自定义配置文件

Jetifier 工具使用配置文件将支持库类映射到其对应的 AndroidX 等效项。如有必要,您可以创建一个自定义配置文件来修改此映射。您甚至可以向此映射添加实际并未包含在支持库中的新类。例如,您可以修改此映射,以使用编写为使用 AndroidX 的继任类来替换您自己的某个类。

如需使用自定义配置文件,请执行以下操作:

  1. 从实用程序的 jetifier-core-*.jar 文件中提取 default.generated.config 文件,然后保存该文件。
  2. 对配置文件的副本进行必要的修改。
  3. 使用 -c 标记将该文件传递给实用程序。

例如:

./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值