我有一个名为LibA的基于maven的库项目,pom文件如下所示:
<groupId>com.google.apple</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
</dependency>
</dependencies>同时,我有一个基于LibA的应用程序项目,并使用gradle构建脚本来构建应用程序。下面是build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "delete.larry.com.tobedelete"
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.apple:parent:1.0-SNAPSHOT'
}当我运行“gradle build”来构建应用程序时,我得到了一个错误:
ERROR: Debug has an indirect dependency on Android API level 15, but minSdkVersion for variant 'debug' is API level 10我知道如果我把我的minSdkVersion从10升级到15,我想从10级构建应用程序。库项目使用相同的15级api,但我编写了一些代码来适应较低的api。那么,我怎样才能像build.gradle的pom.xml属性那样在minSdkVersion中声明呢?
发布于 2015-04-17 10:32:17
好吧,我解决了这个问题。我犯了个愚蠢的错误
这是错误的态度:
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
</dependency>这里是正确的:
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>我假设,默认作用域是编译,并将4.1.1.4打包为targetSdkVersion和minSdkVersion。
https://stackoverflow.com/questions/29607435
复制相似问题