Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gradle插件3.5.0:“;未能转换工件"&引用;JetifyTransform的执行失败;_Android_Android Gradle Plugin_Android Jetifier - Fatal编程技术网

Android Gradle插件3.5.0:“;未能转换工件"&引用;JetifyTransform的执行失败;

Android Gradle插件3.5.0:“;未能转换工件"&引用;JetifyTransform的执行失败;,android,android-gradle-plugin,android-jetifier,Android,Android Gradle Plugin,Android Jetifier,我们将Android Gradle插件从3.4.2升级到3.5.0(Gradle从5.1.1升级到5.4.1) 之后,构建在几个子模块中开始失败。尝试汇编任何构建变量都会产生以下错误(命令行和Android Studio中的错误相同): >未能将工件“bottom-navigation.aar(项目:bottom-navigation)”转换为匹配属性{artifactType=jar}。 >JetifyTransform的执行失败:/bottom navigation/build/output

我们将Android Gradle插件从3.4.2升级到3.5.0(Gradle从5.1.1升级到5.4.1)

之后,构建在几个子模块中开始失败。尝试汇编任何构建变量都会产生以下错误(命令行和Android Studio中的错误相同):

>未能将工件“bottom-navigation.aar(项目:bottom-navigation)”转换为匹配属性{artifactType=jar}。
>JetifyTransform的执行失败:/bottom navigation/build/outputs/aar/bottom-navigation-release.aar。
>无法使用Jetifier转换“/bottom navigation/build/outputs/aar/bottom navigation release.aar”。
原因:无法在“文件映射(from=/bottom navigation/build/outputs/aar/bottom-navigation-release.aar,to=/bottom navigation/build/.transforms/9b2af95a5f0e0055110660c22ff05ab5/jetified bottom navigation release.aar)”处打开库。(有关详细信息,请使用--stacktrace运行。)
有没有办法解决这个问题

我试过的
  • AS中的“使缓存无效”,并清除
    ~/.Gradle/caches中的所有Gradle缓存
  • 所有的建议
    • 我检查了有问题的模块是否使用
      apply插件:
      “com.android.library”
      (而不是
      com.android.application
    • 我尝试在受影响的模块中将appcompat依赖项更新为
      androidx.appcompat:appcompat:1.1.0
      ,并删除该依赖项
更新 Gradle plugin 3.5.0中开始出现问题;构建在本地和我们的CI计算机上的行为不稳定

例如,clean构建失败
/gradlew clean assembleBetaRelease
/gradlew assembleBetaRelease
工作时失败

而且,有时我会得到
AAPT:error:attribute。。。找不到
而不是上面的
未能转换工件
错误

回到Gradle插件3.4.2,所有这些问题都消失了


编辑2019年10月:Gradle插件3.5.1仍然存在这种奇怪的行为编辑2019年11月和3.5.2。升级到Gradle 5.6也没有帮助。

有点奇怪,但我让它重新工作了。显然,这只是Android Gradle插件中与缓存相关的暂时故障

帮助我:

解决这个问题的简单方法是在构建变量之间切换。这将刷新缓存的副本并解决问题

由于项目同步失败,我无法在Android Studio中实现这一点,但在命令行上我尝试了另一种变体(在我的例子中,
/gradlew assemblebetatebug
之前使用了
/gradlew assemblebateralease
)。构建通过了,之后它也适用于所有其他变体,Android Studio中的Gradle sync也开始工作了

编辑:实际上这还没有完全解决;见更新的问题

2019年12月更新
bundle*
命令工作正常,只有
assemble*
在Android Gradle插件3.5.3中仍然失败。Android Studio中的构建工作正常。显然,这不是一个常见的问题,我不知道我正在从事的特定项目中到底是什么导致了这一问题


更新4/2020:现在有了Android Gradle插件3.6.2(和Gradle 5.6.4),可以在本地为我构建工作,我可以更新项目。在CircleCI上,构建仍然偶尔会因“未能转换工件”而失败,但重新运行修复了它。想想看有点奇怪,但我又让它工作起来了。显然,这只是Android Gradle插件中与缓存相关的暂时故障

帮助我:

解决这个问题的简单方法是在构建变量之间切换。这将刷新缓存的副本并解决问题

由于项目同步失败,我无法在Android Studio中实现这一点,但在命令行上我尝试了另一种变体(在我的例子中,
/gradlew assemblebetatebug
之前使用了
/gradlew assemblebateralease
)。构建通过了,之后它也适用于所有其他变体,Android Studio中的Gradle sync也开始工作了

编辑:实际上这还没有完全解决;见更新的问题

2019年12月更新
bundle*
命令工作正常,只有
assemble*
在Android Gradle插件3.5.3中仍然失败。Android Studio中的构建工作正常。显然,这不是一个常见的问题,我不知道我正在从事的特定项目中到底是什么导致了这一问题


更新4/2020:现在有了Android Gradle插件3.6.2(和Gradle 5.6.4),可以在本地为我构建工作,我可以更新项目。在CircleCI上,构建仍然偶尔会因“未能转换工件”而失败,但重新运行修复了它。想想看,你是否错过了gradle.properties文件中的android.useAndroidX=true
&
android.enableJetifier=true
?是否正在使用React原生项目?@JeelVankhede:我们在项目范围内的gradle.properties中都有它们。@sajadabbasi:no,此项目与React Native无关。@Jonik请验证您在任何模块中都没有任何支持库工件。您是否错过了gradle.properties文件中的android.useAndroidX=true&
android.enableJetifier=true
?是否正在使用React Native项目?@JeelVankhede:我们在整个项目范围内都有这两个项目gradle.properties.@sajadabbasi:不,这个项目与React Native没有任何关系。@Jonik请确认您在任何模块中都没有任何支持库工件。事实上,这个问题比那更严重-现在我再次遇到它,例如当我运行
/gradlew clean AssembleBase
,而
/gradlew assembleBatarelease> Failed to transform artifact 'bottom-navigation.aar (project :bottom-navigation)' to match attributes {artifactType=jar}.
   > Execution failed for JetifyTransform: <project_root>/bottom-navigation/build/outputs/aar/bottom-navigation-release.aar.
      > Failed to transform '<project_root>/bottom-navigation/build/outputs/aar/bottom-navigation-release.aar' using Jetifier. 
        Reason: Cannot open a library at 'FileMapping(from=<project_root>/bottom-navigation/build/outputs/aar/bottom-navigation-release.aar, to=<project_root>/bottom-navigation/build/.transforms/9b2af95a5f0e0055110660c22ff05ab5/jetified-bottom-navigation-release.aar)'. (Run with --stacktrace for more details.)