问题标签 [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.
android - 无法使用转换 JetifyTransform 转换文件“some-lib-release.aar”以匹配属性 {artifactType=processed-aar}
我有一个包含 2 个模块的项目:一个具有构建类型debug
、release
和的应用程序 (Java) 以及该应用程序使用enterprise
的 Kotlin 库 (release
和debug
)。
我正在使用 AndroidX 并在我的gradle.properties
:
如果我通过 Gradle 运行项目,我会收到一堆编译错误(预期)。但是,如果我尝试在 Android Studio(3.2 Beta 5)中使用它,特别是在尝试与 Gradle 模型同步时,我会得到以下信息:
我的settings.gradle
:
库模块最终将成为这个应用程序和其他应用程序使用的它自己的库,但是当我在处理它时,我将它构建为应用程序的一部分。在我切换到 AndroidX 之前,一切都很好。
该app
模块将依赖项声明为:
如果我configuration: 'default'
在声明依赖项时省略了这一点,我会得到:
关于我在这里做错了什么的任何想法?
android - 避免 AndroidX Jetifier 日志垃圾邮件
我最近将我的应用程序迁移到了AndroidX,因此使用了 Jetifier 工具(目前是与 Android Gradle 插件版本捆绑的版本3.3.0-alpha10
):
它工作正常,但在我的应用程序的整个构建过程中添加了许多日志(对于它转换的每个库),如下所示,并且使日志难以阅读。
它看起来像这样:
有没有办法禁用/忽略/过滤这些日志?
android - requireActivity()、requireContext() 和 requireFragmentManager() 不适用于 AndroidX
我一直在努力将包含 DataBinding 的项目更新为新的 AndroidX 包。滥用 DataBinding SafeUnbox 方法存在许多问题,但这些问题已解决,我目前无法构建,因为 AndroidX 似乎不支持requireActivity
,requireContext
和requireFragmentManager
方法。
我在我的 gradle 属性中有并修复了它提出的小问题,但android.enableJetifier=true
不需要更改fromandroid.useAndroidX=true
android.support.v4.app.Fragment
因此,即使 Fragment 和 Activity 类/导入未更改,我也无法再使用 require 方法。有解决办法吗?
android - RecyclerView ItemDecoration 被 AndroidX 破坏
在我们正在更新以使用 AndroidX 库的现有项目中使用时DividerItemDecoration
,我遇到了编译器问题。RecyclerView
不幸的是,该项目使用 DataBinding,这可能是问题的一部分。我们有一些像这样的丑陋代码:
这告诉我
AS 自动为该类添加 AndroidX 导入,并且 android.support.v7.widget.DividerItemDecoration 似乎不再可用。
ItemDecorations 现在应该如何与 RecyclerViews 一起使用?
我们是否需要手动替换每个布局中的 RecyclerView 标签?(这对于其他视图(例如工具栏)不是必需的
android - AndroidX 迁移依赖/库
我已成功将我的项目迁移到AndroidX。应用程序运行完美,但我收到编译时错误,因为我的依赖项使用支持包。
此错误的原因
因为PhotoView
是一个依赖类,它使用android.support.v7.widget.AppCompatImageView
在我的项目中不再可用。因为是现在androidx.appcompat.widget.AppCompatImageView
项目还在运行?
是的,android.enableJetifier
将此依赖项转换为AndroidX
在运行时,但我想摆脱编译时错误。
现在有快速修复吗?
android - 将 StorIO 与 AndroidX 和 Jetifier 一起使用
我们正在将我们的一个项目转换为 AndroidX,并且 jetifier 似乎阻塞@NonNull
了生成的解析器中的注释(例如,mapFromCursor(@NonNull ...)
编译时我们Cannot find symbol
在NonNull
符号上。这可能是因为喷射器没有转换com.android.support:support-annotations
成androidx.annotation:annotation:1.0.0-alpha1
.
我确实将以下内容放入我的gradle.properties
:
其他人也遇到过这个吗?
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:
android-studio - Gradle - 尚未执行转换
我刚刚将我的项目迁移到 androidx 并启用了 jetifier。
现在,当我想构建我的项目时,我收到此错误:“尚未执行转换” Gradle 同步完成且没有任何错误,但构建失败。
此任务执行失败:
堆栈跟踪 :
我的工作站:
android - 如何使用独立的 Jetifier 迁移到 AndroidX?
Jetifier工具用作与 Android Studio 捆绑的 AndroidX 迁移工具的一部分。但是,该工具存在一个问题,如下所述: https ://issuetracker.google.com/issues/113224601 。
在某些库上运行 Jetifier 时,错误消息如下所示(一个特定的库不断为多个用户弹出:)org.eclipse.jdt.core
:
这个问题已经在 Jetifier 工具本身中修复了一段时间,但修复的版本尚未包含在任何 Android Studio 更新中(即使是最新的金丝雀版本)。
我可以确认运行独立的 Jetifier 可以转换有问题的库,但我不知道如何将这些转换后的库放入我们的项目中。在我的脑海中,我可以想到两种不同的方法来让这个迁移到 AndroidX 工作:
在每个库上运行独立工具并指示 Gradle 使用这些版本(我可能需要告诉 Gradle 任务不要在它们上运行 Jetifier)
指示 Gradle 任务使用独立工具代替Android Studio 附带的工具。
任何帮助获得上述建议的修复工作将不胜感激(或者如果有另一种方式,我很想知道它)。Android Gradle 构建系统的内部结构非常复杂,我真的需要一些专家的帮助来克服这个障碍。
这对我们来说是一个严重的障碍,因为我们希望在开发的同时开始迁移我们的应用程序。我们需要通过这次迁移来解决很多问题,并且在工具最终更新时准备好“翻转开关”将有助于保持我们的发布步入正轨。
谢谢!
android - Jetifier/AndroidX 在 aar 中转换字符串
我有一个外部 aar 库,它正在检查 Chrome 自定义选项卡是否可用。他们通过创建意图并检查服务是否存在来做到这一点。意图动作是
android.support.customtabs.action.CustomTabsService
在 aar 中,这个字符串被转换为
androidx.browser.customtabs.CustomTabsService
该更改导致查询返回服务不存在。
不确定这是否是 Jetifier 或库或其他东西的错误。任何帮助表示赞赏!