首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OkBuck没有使用零依赖项的Android。

OkBuck没有使用零依赖项的Android。
EN

Stack Overflow用户
提问于 2019-01-24 11:18:29
回答 1查看 408关注 0票数 3

我正试图在AndroidStudio3.3中使用okbuck,但我被困在了AndroidX上。当我将所有依赖项转换为androidx并设置:

代码语言:javascript
复制
android.enableJetifier=true
android.useAndroidX=true

通过运行,我得到以下错误:

代码语言:javascript
复制
./buckw install --run //app:bin_debug
代码语言:javascript
复制
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 0.46.2版本,据说从0.44.1开始就开始工作了。

EN

回答 1

Stack Overflow用户

发布于 2019-04-08 17:44:43

我遇到了类似的问题,就像我在做我的okbuck样例项目时所做的一样。我已经解决了这个问题,在根级build.gradle中添加了一个丢弃块。请参考拉请求这里,它已经修复了AndroidX问题。

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

代码语言:javascript
复制
okbuck {

    buildToolVersion = '28.0.3'

    lint {
       disabled = true
    }
    externalDependencies {
        downloadInBuck = false
    }
    jetifier {
        aarOnly = true
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54345390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档