问题标签 [android-jetifier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
31013 浏览

android - 无法使用转换 JetifyTransform 转换文件“some-lib-release.aar”以匹配属性 {artifactType=processed-aar}

我有一个包含 2 个模块的项目:一个具有构建类型debugrelease和的应用程序 (Java) 以及该应用程序使用enterprise的 Kotlin 库 (releasedebug)。

我正在使用 AndroidX 并在我的gradle.properties

如果我通过 Gradle 运行项目,我会收到一堆编译错误(预期)。但是,如果我尝试在 Android Studio(3.2 Beta 5)中使用它,特别是在尝试与 Gradle 模型同步时,我会得到以下信息:

我的settings.gradle

库模块最终将成为这个应用程序和其他应用程序使用的它自己的库,但是当我在处理它时,我将它构建为应用程序的一部分。在我切换到 AndroidX 之前,一切都很好。

app模块将依赖项声明为:

如果我configuration: 'default'在声明依赖项时省略了这一点,我会得到:

关于我在这里做错了什么的任何想法?

0 投票
1 回答
466 浏览

android - 避免 AndroidX Jetifier 日志垃圾邮件

我最近将我的应用程序迁移到了AndroidX,因此使用了 Jetifier 工具(目前是与 Android Gradle 插件版本捆绑的版本3.3.0-alpha10):

它工作正常,但在我的应用程序的整个构建过程中添加了许多日志(对于它转换的每个库),如下所示,并且使日志难以阅读。

它看起来像这样:

有没有办法禁用/忽略/过滤这些日志?

0 投票
1 回答
2106 浏览

android - requireActivity()、requireContext() 和 requireFragmentManager() 不适用于 AndroidX

我一直在努力将包含 DataBinding 的项目更新为新的 AndroidX 包。滥用 DataBinding SafeUnbox 方法存在许多问题,但这些问题已解决,我目前无法构建,因为 AndroidX 似乎不支持requireActivity,requireContextrequireFragmentManager方法。

我在我的 gradle 属性中有并修复了它提出的小问题,但android.enableJetifier=true不需要更改fromandroid.useAndroidX=trueandroid.support.v4.app.Fragment

因此,即使 Fragment 和 Activity 类/导入未更改,我也无法再使用 require 方法。有解决办法吗?

0 投票
2 回答
868 浏览

android - RecyclerView ItemDecoration 被 AndroidX 破坏

在我们正在更新以使用 AndroidX 库的现有项目中使用时DividerItemDecoration,我遇到了编译器问题。RecyclerView

不幸的是,该项目使用 DataBinding,这可能是问题的一部分。我们有一些像这样的丑陋代码:

这告诉我

在此处输入图像描述

AS 自动为该类添加 AndroidX 导入,并且 android.support.v7.widget.DividerItemDecoration 似乎不再可用。

ItemDecorations 现在应该如何与 RecyclerViews 一起使用?

我们是否需要手动替换每个布局中的 RecyclerView 标签?(这对于其他视图(例如工具栏)不是必需的

0 投票
3 回答
8246 浏览

android - AndroidX 迁移依赖/库

我已成功将我的项目迁移到AndroidX应用程序运行完美,但我收到编译时错误,因为我的依赖项使用支持包。

图像1

图2

此错误的原因

因为PhotoView是一个依赖类,它使用android.support.v7.widget.AppCompatImageView在我的项目中不再可用。因为是现在androidx.appcompat.widget.AppCompatImageView

项目还在运行?

是的,android.enableJetifier将此依赖项转换为AndroidX在运行时,但我想摆脱编译时错误

现在有快速修复吗?

0 投票
0 回答
131 浏览

android - 将 StorIO 与 AndroidX 和 Jetifier 一起使用

我们正在将我们的一个项目转换为 AndroidX,并且 jetifier 似乎阻塞@NonNull了生成的解析器中的注释(例如,mapFromCursor(@NonNull ...)

编译时我们Cannot find symbolNonNull符号上。这可能是因为喷射器没有转换com.android.support:support-annotationsandroidx.annotation:annotation:1.0.0-alpha1.

我确实将以下内容放入我的gradle.properties

其他人也遇到过这个吗?

0 投票
2 回答
2926 浏览

java - AndroidX jetifier:无法使用转换 JetifyTransform 转换文件“android-all-9-robolectric-4913185-2.jar”以匹配属性

迁移到 AndroidX 后,Failed to transform 'C:\Users\User\.gradle\caches\modules-2\files-2.1\org.robolectric\android-all\9-robolectric-4913185-2\92c6ca3712d7a06f76f70655ec81162ff372fb19\android-all-9-robolectric-4913185-2.jar' using Jetifier. Reason: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.. (Run with --stacktrace for more details.) To disable Jetifier, set android.enableJetifier=false in your gradle.properties file. 在运行单元测试时构建时收到此错误。我确实需要将 enableJetifier 设置为 true。

有谁知道为什么会发生这种情况或如何解决它?我只是添加了更多代码以提供更好的洞察力。所有版本都在版本数组中。

gradle.properties:

版本:

构建.gradle:

0 投票
4 回答
6089 浏览

android-studio - Gradle - 尚未执行转换

我刚刚将我的项目迁移到 androidx 并启用了 jetifier。

现在,当我想构建我的项目时,我收到此错误:“尚未执行转换” Gradle 同步完成且没有任何错误,但构建失败。

此任务执行失败:

堆栈跟踪 :

我的工作站:

0 投票
2 回答
9900 浏览

android - 如何使用独立的 Jetifier 迁移到 AndroidX?

Jetifier工具用作与 Android Studio 捆绑的 AndroidX 迁移工具的一部分但是,该工具存在一个问题,如下所述: https ://issuetracker.google.com/issues/113224601 。

在某些库上运行 Jetifier 时,错误消息如下所示(一个特定的库不断为多个用户弹出:)org.eclipse.jdt.core

这个问题已经在 J​​etifier 工具本身中修复了一段时间,但修复的版本尚未包含在任何 Android Studio 更新中(即使是最新的金丝雀版本)。

我可以确认运行独立的 Jetifier 可以转换有问题的库,但我不知道如何将这些转换后的库放入我们的项目中。在我的脑海中,我可以想到两种不同的方法来让这个迁移到 AndroidX 工作:

  1. 在每个库上运行独立工具并指示 Gradle 使用这些版本(我可能需要告诉 Gradle 任务不要在它们上运行 Jetifier)

  2. 指示 Gradle 任务使用独立工具代替Android Studio 附带的工具。

任何帮助获得上述建议的修复工作将不胜感激(或者如果有另一种方式,我很想知道它)。Android Gradle 构建系统的内部结构非常复杂,我真的需要一些专家的帮助来克服这个障碍。

这对我们来说是一个严重的障碍,因为我们希望在开发的同时开始迁移我们的应用程序。我们需要通过这次迁移来解决很多问题,并且在工具最终更新时准备好“翻转开关”将有助于保持我们的发布步入正轨。

谢谢!

0 投票
1 回答
303 浏览

android - Jetifier/AndroidX 在 aar 中转换字符串

我有一个外部 aar 库,它正在检查 Chrome 自定义选项卡是否可用。他们通过创建意图并检查服务是否存在来做到这一点。意图动作是

android.support.customtabs.action.CustomTabsService

在 aar 中,这个字符串被转换为

androidx.browser.customtabs.CustomTabsService

该更改导致查询返回服务不存在。

不确定这是否是 Jetifier 或库或其他东西的错误。任何帮助表示赞赏!