26

我刚开始玩 Android 的 gradle 构建系统。

但是我无法构建我的项目之一。它取决于 libs/ 文件夹中的 jar。

由于缺少jar文件中的所有类,因此任务gradle build失败。compileDebug

这是一个图书馆项目!这是我的 build.gradle 文件:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.2'
    }
}

apply plugin: 'android-library'

android {
    target='android-16'
    sourceSets {
        main {
            manifest {
                srcFile 'AndroidManifest.xml'
            }
            java {
                srcDir 'src'
            }
            res {
                srcDir 'res'
            }
            assets {
                srcDir 'assets'
            }
            resources {
                srcDir 'src'
            }
        }
    }
}

我错过了一些明显的东西吗?

戈登

4

2 回答 2

59

刚刚自己找到了答案:

似乎当前版本的 Android Gradle 插件不会在 libs/ 文件夹中查找 jar。所以你必须自己添加它们:

dependencies {
    compile files('libs/mylib.jar')
}

或者

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

将其放置在android命名空间中,如下所示:

android {
    target = "android-15"

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
    }
 }
于 2012-10-25T16:06:21.237 回答
2

万一这些解决方案都不适合您,您可能需要尝试手动提供 *.jar 的路径:

compile files('../<your-library-folder>/<your-library>.jar')

The '../' part means that Gradle will search for the library starting from the root projects folder (not app module).

于 2016-01-20T06:58:33.177 回答