2

我创建了简单的 android eclipse 项目。然后我添加了 build.gradle 文件。

buildscript {
  repositories {
    mavenCentral()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:0.4'
  }
}

task listJars << {
    configurations.compile.each { File file -> println file.path }
}

apply plugin: 'android'

android {
  compileSdkVersion 17
  buildToolsVersion '17'

  repositories {
    mavenCentral()
    }


  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['src']
      resources.srcDirs = ['src']
      renderscript.srcDirs = ['src']
      res.srcDirs = ['res']
      assets.srcDirs = ['assets']
    }

    instrumentTest.setRoot('tests')
    instrumentTest {
      java.srcDirs = ['tests/src']
      res.srcDirs = ['tests/res']
      assets.srcDirs = ['tests/assets']
      resources.srcDirs = ['tests/src']
    }
  }

  dependencies {
    compile 'org.roboguice:roboguice:2.0' 
    compile fileTree(dir: 'libs', include: '*.jar')
  }
}

如您所见,我想使用来自 maven 的 RoboGuice。Gradle 会下载它,但不会添加到 Eclipse 的 lib 文件夹中。所以我在编写代码时不能在eclipse中使用它。我需要手动复制它们吗?我添加了一个任务来显示它们:

$ gradle -q listJars
/Users/xxx/Documents/codepath2/SampleAndroidGradle/libs/android-support-v4.jar
/Users/xxx/.gradle/caches/artifacts-24/filestore/org.roboguice/roboguice/2.0/jar/727ccb8f376109d0b5c44abca6f791dccc5c5dbc/roboguice-2.0.jar
/Users/xxx/.gradle/caches/artifacts-24/filestore/javax.inject/javax.inject/1/jar/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar
/Users/xxx/.gradle/caches/artifacts-24/filestore/aopalliance/aopalliance/1.0/jar/235ba8b489512805ac13a8f9ea77a1ca5ebe3e8/aopalliance-1.0.jar
/Users/xxx/.gradle/caches/artifacts-24/filestore/asm/asm/3.1/jar/c157def142714c544bdea2e6144645702adf7097/asm-3.1.jar
/Users/xxx/.gradle/caches/artifacts-24/filestore/org.sonatype.sisu.inject/cglib/2.2.1-v20090111/jar/7ce5e983fd0e6c78346f4c9cbfa39d83049dda2/cglib-2.2.1-v20090111.jar
/Users/xxx/.gradle/caches/artifacts-24/filestore/com.google.inject/guice/3.0/jar/28586dc97c525501329d9a242fc3402041e3572d/guice-3.0-no_aop.jar
4

2 回答 2

3

那是对的。Gradle 不会将罐子放在 lib 目录中。假设您的 lib 目录用于手动更改 jar。如果那是 oyu 想要做的,您可能可以创建一个 Gradle 任务将它们复制到您的 lib 目录。

我认为 eclipse 中没有对 gradle 的官方支持,如果您刚刚开始一个新项目,请考虑使用 Android Studio ( http://developer.android.com/sdk/installing/studio.html )

于 2013-10-21T22:05:30.447 回答
1

以下帖子包含两个可以添加到build.gradle. 它们中的任何一个都使 Eclipse 可以使用 gradle 依赖项。

请参阅在 android 项目中通过 gradle 添加依赖项到 eclipse

于 2014-01-31T15:11:23.503 回答