gpt4 book ai didi

android - OkBuck 不支持零依赖的 Android Jetifier

转载 作者:行者123 更新时间:2023-11-29 02:22:36 27 4
gpt4 key购买 nike

我正在尝试将 okbuck 与 Android Studio 3.3 一起使用,但我卡在了 AndroidX 上。当我将所有依赖项转换为 androidx 并设置时:

android.enableJetifier=true
android.useAndroidX=true

运行时出现以下错误:

./buckw install --run //app:bin_debug
Exception in thread "main" java.lang.IllegalArgumentException: The given artifact contains a string literal with a package reference 'android.support.design.widget' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx. 
at com.android.tools.build.jetifier.processor.transform.bytecode.CoreRemapperImpl.rewriteString(CoreRemapperImpl.kt:91)
at com.android.tools.build.jetifier.processor.transform.bytecode.asm.CustomRemapper.mapValue(CustomRemapper.kt:75)
at org.objectweb.asm.commons.ClassRemapper.visitField(ClassRemapper.java:113)
at org.objectweb.asm.ClassReader.readField(ClassReader.java:883)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:694)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
at com.android.tools.build.jetifier.processor.transform.bytecode.ByteCodeTransformer.runTransform(ByteCodeTransformer.kt:39)
at com.android.tools.build.jetifier.processor.Processor.visit(Processor.kt:366)
at com.android.tools.build.jetifier.processor.archive.ArchiveFile.accept(ArchiveFile.kt:41)
at com.android.tools.build.jetifier.processor.Processor.visit(Processor.kt:348)
at com.android.tools.build.jetifier.processor.archive.Archive.accept(Archive.kt:70)
at com.android.tools.build.jetifier.processor.Processor.transformLibrary(Processor.kt:344)
at com.android.tools.build.jetifier.processor.Processor.transform(Processor.kt:207)
at com.android.tools.build.jetifier.processor.Processor.transform$default(Processor.kt:194)
at com.android.tools.build.jetifier.standalone.Main.run(Main.kt:147)
at com.android.tools.build.jetifier.standalone.Main$Companion.main(Main.kt:101)
at com.android.tools.build.jetifier.standalone.Main.main(Main.kt)

我什至可以注释掉所有 依赖项,删除-重新初始化 okbuck(因此没有缓存)并且在 jetifier 仍然打开的情况下,错误不断弹出。

我使用 okbuck 版本 0.46.2,据称 jetifier 从 0.44.1 开始工作。

最佳答案

我在处理我的 okbuck 示例项目时遇到了与您类似的问题。我通过在根级别 build.gradle 中添加一个 jetifier block 解决了这个问题。请引用拉取请求 here已解决 AndroidX 问题。

这是与 okbuck 相关的整个代码块。

okbuck {

buildToolVersion = '28.0.3'

lint {
disabled = true
}
externalDependencies {
downloadInBuck = false
}
jetifier {
aarOnly = true
}
}

关于android - OkBuck 不支持零依赖的 Android Jetifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54345390/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com