android - Gradle 配置在新的 Android 构建系统中无法正常工作

标签 android gradle build.gradle

环境配置

  • com.android.tools.build:gradle:0.4
  • gradle 版本 1.6
  • jdk 1.6 (操作系统)
  • android 构建工具版本 17
  • 编译sdk版本17

我似乎遇到的问题是我似乎无法将 lombok 添加到 apk 中。我试图通过创建这样的提供的配置来做到这一点:

configurations {
   provided
}

sourceSets {
   main { compileClasspath += configurations.provided }
}

然后像这样添加依赖:

dependencies {
     provided ‘org.projectlombok:lombok:0.11.8′
}

但我仍然收到此错误:

Error: duplicate files during packaging of APK <myapp>.apk
Path in archive: LICENSE
Origin 1: /<home>/.gradle/caches/artifacts-24/filestore/org.projectlombok/lombok/0.11.8/jar/e43ce2be16d8990568a4182c0bf996ad3ff0ba42/lombok-0.11.8.jar
Origin 2: /<home>/.gradle/caches/artifacts-24/filestore/org.sonatype.sisu.inject/cglib/2.2.1-v20090111/jar/7ce5e983fd0e6c78346f4c9cbfa39d83049dda2/cglib-2.2.1-v20090111.jar
:packageRelease FAILED

我曾尝试使用 lombok-api.jar,然后在执行 dex 时会导致有关某些 AccessLevel 注释的不同问题。

这表明它在 apk 中包含了 lombok jar 文件。这不应该发生,有什么建议吗?

最佳答案

您不能使用 sourceSets,因为我们使用自定义的。您必须执行以下操作:

android.applicationVariants.each { variant ->
    variant.javaCompile.classpath += configurations.provided.
}

但是,应该可以从我们的“包”配置中删除依赖项(它取代了“运行时”配置。)我会研究一下。

关于android - Gradle 配置在新的 Android 构建系统中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16613722/

相关文章:

java - (R.layout.splash);飞溅无法解析或不是一个字段

安卓 JSoup 示例

android - vpn 以编程方式 android

android - 在 gradle android 闭包中定义时,是否必须在 AndroidManifest.xml 中设置 SDKVersion?

gradle - Gradle中的参数化测试任务

android - 将动态功能模块限制为某些 BuiltTypes

java - 我在onAttach方法的AlertDialog类中遇到错误CastClassException

android - 我收到 Gradle DSL 方法未找到错误?

android-studio - 如何更改openIdea Gradle任务的默认IDE

maven - 使用 Gradle 快照依赖项