标签: android-jetifier

给定的工件包含一个包含引用"android.support.v4.content"的字符串文字,无法安全地重写.对于androidx

我升级了android studio to 3.4 canary,现在由于以下错误我无法再成功构建:

The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.
Run Code Online (Sandbox Code Playgroud)

更多细节:

Caused by: java.lang.RuntimeException: Failed to transform '.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife-compiler/9.0.0-SNAPSHOT/732f93940c74cf32a7c5ddcc5ef66e53be052352/butterknife-compiler-9.0.0-SNAPSHOT.jar' using Jetifier. Reason: The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated …
Run Code Online (Sandbox Code Playgroud)

android butterknife androidx android-jetifier

56
推荐指数
5
解决办法
3万
查看次数

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

我有2个模块的一个项目:一个应用程序(JAVA)与构建类型debug,release以及enterprise和科特林库(release以及debug由应用程序使用).

我正在使用AndroidX并且在我的内容中有以下内容gradle.properties:

android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)

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

Unable to resolve dependency for ':app@debug/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@release/compileClasspath': …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-studio-3.2 androidx android-jetifier

21
推荐指数
2
解决办法
1万
查看次数

找到 2 个文件,路径为“META-INF/LGPL2.11”

有人知道如何调试这个吗?我无法弄清楚哪些库产生了问题。

旁注,它只发生在我尝试运行 Android 测试时,所以我最好的猜测是它与某些测​​试库有关。


    testImplementation "androidx.room:room-testing:$version_room"
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'
    // Compose Tests
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$version_compose"
    debugImplementation "androidx.compose.ui:ui-test-manifest:$version_compose"
    // Hilt test
    androidTestImplementation "com.google.dagger:hilt-android-testing:$version_hilt"
    kaptAndroidTest "com.google.dagger:hilt-android-compiler:$version_hilt"
    debugImplementation 'androidx.fragment:fragment-testing:1.3.6'
Run Code Online (Sandbox Code Playgroud)
Execution failed for task ':app:mergeDebugAndroidTestJavaResource'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction
   > 2 files found with path 'META-INF/LGPL2.1' from inputs:
      - /home/lbenevento/.gradle/caches/transforms-3/1e2dfa6057fe4e701d175f47b1099efa/transformed/jetified-jna-platform-5.5.0.jar
      - /home/lbenevento/.gradle/caches/transforms-3/405542266c1c406c39ff1a20cb26a332/transformed/jetified-jna-5.5.0.jar
     Adding a packagingOptions block may help, please refer to
     https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
     for more information

* Try:
Run with --info or --debug option to get more log …
Run Code Online (Sandbox Code Playgroud)

android gradle android-testing android-jetifier

20
推荐指数
3
解决办法
2万
查看次数

使用AndroidX和React Native的问题

我一直在尝试将AndroidX集成到我的混合React Native项目中,我遇到了Jetifier不在"本地"项目上运行的问题.这导致我的所有React Native库仍然使用旧的支持库.我已将相应的行放入gradle.properties文件中:

android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)

这适用于任何远程库,但React Native将其所有库作为本地模块放在磁盘上.

我已经尝试了很多东西,但到目前为止,我最好的解决方案是一个post-package脚本,基本上手动替换所有的包,并将库添加/删除到各种gradle脚本.

这是一个非常手动的过程,并不是超级可持续的.有没有更好的方法来处理这个问题?

android react-native react-native-android androidx android-jetifier

19
推荐指数
1
解决办法
1万
查看次数

执行 com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction 时发生故障

由于此错误,我的反应本机项目构建因某种原因失败:

Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
   > 2 files found with path 'lib/arm64-v8a/libfbjni.so' from inputs:
      - C:\Users\Antonio\.gradle\caches\transforms-3\7cca348744e25f57fc2d9f871aa73c9a\transformed\jetified-react-native-0.71.0-rc.0-debug\jni\arm64-v8a\libfbjni.so
      - C:\Users\Antonio\.gradle\caches\transforms-3\08b0f5c7017bf081f79b63ea5b053dc0\transformed\jetified-fbjni-0.3.0\jni\arm64-v8a\libfbjni.so
     If you are using jniLibs and CMake IMPORTED targets, see
     https://developer.android.com/r/tools/jniLibs-vs-imported-targets
Run Code Online (Sandbox Code Playgroud)

有人知道什么可能导致构建失败吗?我没有编辑任何构建文件和/或删除/安装/升级新软件包,谢谢

gradle build.gradle android-gradle-plugin react-native android-jetifier

14
推荐指数
2
解决办法
1万
查看次数

AndroidX迁移依赖/库

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

此搜索

图像2

这个错误的原因

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

项目还在运行吗?

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

现在有快速解决方案吗?

android androidx android-jetifier

9
推荐指数
2
解决办法
6001
查看次数

androidX jetifier - 有没有办法忽略jetifying .JAR?

尝试将我的应用程序更新为androidX依赖项。按照此处的说明进行操作,编译失败。错误来自JetifyTransform任务无法处理某个 .JAR 依赖项(仅供参考 -三星 Spass SDK):

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptGenerateStubsStandardNo_vendorDebugKotlin'.
> Could not resolve all artifacts for configuration ':app:standardNo_vendorDebugCompileClasspath'.
   > Failed to transform file 'pass-v1.2.2.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
      > Failed to transform '/Users/hanandann/StudioProjects/ArnakPaymentsAndroid/Payments/app/libs/pass-v1.2.2.jar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
   > Failed to transform file 'pass-v1.2.2.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
      > …
Run Code Online (Sandbox Code Playgroud)

android androidx android-jetifier

9
推荐指数
2
解决办法
9474
查看次数

包含对 AndroidX 和旧支持库的引用

将 flutter 版本升级到Flutter 1.22.0-2.0.pre.78 后 • channel master我收到此警告:-

警告:[处理器]库“C:\用户的gradle .... \缓存\模块-2 \文件-2.1 \ io.flutter \ flutter_embedding_debug \ 1.0.0-b1d9f863db32cb1d6714cf75db4a992ee3765113 \ b8748b5192a2a0961f5c14f8845331ad5f2225a1 \ flutter_embedding_debug-1.0.0-b1d9f863db32cb1d6714cf75db4a992ee3765113.jar ' 包含对 AndroidX 和旧支持库的引用。这似乎是部分迁移的库。Jetifier 无论如何都会尝试重写库。androidX 参考示例:'androidx/annotation/VisibleForTesting' 支持库参考示例:'android/support/annotation/NonNull'`

这个问题将来是否会导致一些严重的问题。提前致谢 :)

android ios flutter androidx android-jetifier

9
推荐指数
1
解决办法
5282
查看次数

Jetifier之后,Android Zendesk SDK v1脱机Messge Fragment布局无效

我一直在使用Zendesk v1 SDK和AndroidX和Jetifier,并且在更新到AS 3.3,Gradle版本4.10.1之后,在编译时出现错误,看来Jetifier在错误的生成文件中错误地转换了ID。错误中列出的行有2个编辑文本,其中两个都包含android:nextFocusDown =“ @ + id / ..”,这显然是无效的。下面的错误和Gradle文件

org.gradle.execution.MultipleBuildFailures: Build completed with 1 failures.
    at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:358)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:219)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:124)
    at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:77)
    at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:74)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:154)
    at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:38)
    at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96)
    at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:74)
    at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:55)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:50)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
    at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:44)
    at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:79)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:44)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30) …
Run Code Online (Sandbox Code Playgroud)

android zendesk android-jetpack androidx android-jetifier

7
推荐指数
1
解决办法
1189
查看次数

有没有办法在旧项目中使用 androidX 库(如(Firebase Crashlytics))而不将项目迁移到 androidX?

强调文本我需要在项目中使用 firebase Crashlytics 但不想将项目迁移到 android。我想知道是否可以。

如何在未迁移到 Androidx 的项目中使用 Androidx 库:-与此类似

在 gradle 中添加了对 firebase Crashlytics 的依赖导致 brlow 错误:属性 application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22 :18-91 也存在于 [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory)。建议:将 'tools:replace="android:appComponentFactory"' 添加到 AndroidManifest.xml:15:5-468:19 的元素以覆盖。

2021 年 5 月 25 日更新:找不到任何方法,将整个项目转换为 androidX

android-support-library firebase-crash-reporting androidx android-jetifier

7
推荐指数
0
解决办法
659
查看次数