不能使用Gradle从其他Android库中包含Android库依赖项

时间:2013-07-06 22:16:37

标签: android dependencies gradle android-library

我正在尝试从我项目中的另一个Android库引用ActionBarSherlock。我收到了这个错误:

package com.actionbarsherlock.app does not exist

这是我的项目结构

MyApplication
|---app
\---libraries
    |---ActionBarSherlock
    |---AndroidCommon
    \---AndroidUtils

这是我的 settings.gradle

// App
include ':app'

// Libraries
include ':libraries:ActionBarSherlock:actionbarsherlock'
include ':libraries:AndroidCommon'
include ':libraries:AndroidUtils'

这是ABS

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

apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:13.0.0'
}

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'

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

AndroidCommon的 build.gradle

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

apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:13.0.0'
    compile project(':libraries:ActionBarSherlock:actionbarsherlock')
    compile project(':libraries:AndroidUtils')
}

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'
}

是否不支持此设置,或者我做错了什么? ActionBarSherlock和AndroidUtils使用Gradle构建得很好。只有当我尝试从AndroidCommon引用它失败时才会这样做。

1 个答案:

答案 0 :(得分:2)

似乎没有为ABS构建/打包classes.jar,但资源正在构建得很好。此外,AndroidUtils中的所有内容都可以构建,包括classes.jar。

将classes.jar手动复制到爆炸的bundles目录后,构建成功。出于某种原因,Gradle没有复制此文件。

<强>更新

不知何故,对项目进行核对并重新克隆repo修复了gradle构建。