使用';提供';android gradle的子项目

使用';提供';android gradle的子项目,android,android-gradle-plugin,Android,Android Gradle Plugin,我有一个带有子项目的项目,它应该只在编译时类路径中 root-project |- classic-subproject `- compile-time-subproject 根项目使用 [...] apply plugin: 'com.android.application' dependencies { [...] compile project(':classic-subproject') provided project(':compile-time-subpr

我有一个带有子项目的项目,它应该只在编译时类路径中

root-project
|- classic-subproject
`- compile-time-subproject
根项目使用

[...]
apply plugin: 'com.android.application'
dependencies {
    [...]
    compile project(':classic-subproject')
    provided project(':compile-time-subproject')
}
android {
    [...]
}
两个子项目都使用

[...]
apply plugin: 'com.android.library'
android {
    [...]
}
我使用Gradle2.1和android gradle 0.14.4

根据我的理解,给定的配置应该在编译时将编译时子项目放在类路径中,而不应该放在生成的apk中。但是我注意到它在运行时也是可用的(=在apk中)


这是安卓gradle中的一个bug还是我的配置有什么问题?

显然,安卓库不可能像提供的那样使用。但是,可以按照提供的方式提供java库

只要在编译插件时只希望Android标准库位于类路径中,而不需要资源或AndroidManifest.xml处理,就可以使用以下方法将库转换为java项目

apply plugin: 'java'

def sdkVer = 23
def sdkDir = System.env.ANDROID_HOME
if (!sdkDir) {
    Properties properties = new Properties()
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    sdkDir = properties.getProperty('sdk.dir')
}

sourceSets.main.compileClasspath += project.rootProject.files("$sdkDir/platforms/android-$sdkVer/android.jar")