使用gradle添加支持库v7、v13不起作用



我正在尝试导入两个android支持库。我正在尝试将谷歌地图AP2应用到我的Android应用程序中。因此我需要两个图书馆。我正在使用AndroidStudio和Gradle。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
    compile 'com.android.support:appcompat-v7:21.0.+'
    // compile 'com.google.android.gms:play-services:6.1.+'
    compile "com.android.support:support-v13:18.0.+"
    compile "com.loopj.android:android-async-http:1.4.5"
    repositories {
        mavenCentral()
    }
    compile "com.github.chrisbanes.actionbarpulltorefresh:library:+"
    compile 'joda-time:joda-time:2.5'
}

错误为:

Module version com.android.support:support-v13:18.0.0 depends on libraries but is not a library itself

您必须使用最新版本的support-v13:21.0.+

出现此错误是因为appcompat和support-v13都依赖support-v4,并且它们之间存在版本冲突。

顺便说一句,这不是最好的错误。

最后,这段代码在中为我工作

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
    compile 'com.android.support:support-v4:20.0.+'
    compile "com.android.support:appcompat-v7:20.0.+"
    compile "com.android.support:support-v13:20.0.+"
    compile 'com.google.android.gms:play-services:6.1.+'
    compile "com.loopj.android:android-async-http:1.4.5"
    repositories {
        mavenCentral()
    }
    compile "com.github.chrisbanes.actionbarpulltorefresh:library:+"
    compile 'joda-time:joda-time:2.5'
}

我遇到了类似的问题,发现https://code.google.com/p/android/issues/detail?id=73802:'support-v13:19.1.0库的元数据不正确,可能是由于从JAR切换到AAR'所致

我尝试用一堆不同的组合进行构建,发现了以下内容:

1) 如果使用support-v13<support-v13:20.0.0,所有其他支持库也必须在20.0.0 之前

2) 如果使用support-v13>=support-v13:20.0.0,则其他支持库可以是任何版本。

示例:

支持-v13<support-v13:20.0.0与其他支持库>=20.0

implementation 'com.android.support:support-v4:22.0.0'
implementation 'com.android.support:appcompat-v7:22.0.0'
implementation 'com.android.support:support-v13:19.0.0'

错误:模块版本com.android.support:support-v13:19.0.0依赖于库,但不是库本身

支持-v13<support-v13:20.0.0与其他支持库<20.0.0

implementation 'com.android.support:support-v4:19.0.0'
implementation 'com.android.support:appcompat-v7:19.0.0'
implementation 'com.android.support:support-v13:19.0.0'

构建良好的

support-v13>=support-v13:20.0.0

implementation 'com.android.support:support-v4:13.0.0'
implementation 'com.android.support:appcompat-v7:22.0.0'
implementation 'com.android.support:support-v13:20.0.0'

构建良好的

因此,只需确保support-v13至少是support-v13:20.0.0或更高版本。

删除行:compile 'com.android.support:appcompat-v7:21.0.+'

对于v13,添加compileSdkVersion 21、targetSdkVversion 21,并编译"com.android.support:support-v13:21.0.+"你可以不评论行"com.android.support:appcompat-v7:21.0.3",这应该可以工作我的等级样品

apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
    applicationId "someId"
    minSdkVersion 11
    targetSdkVersion 21
    versionCode 5
    versionName "1.1"
}
buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        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.android.gms:play-services:6.5.87'
compile "com.android.support:support-v13:21.0.+"

}

最新更新