Добавление библиотек поддержки v7, v13 с помощью gradle не работает

Я пытаюсь импортировать обе библиотеки поддержки Android. Я пытаюсь внедрить GoogleMaps 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

Ответы

Ответ 1

Вы должны использовать самую последнюю версию поддержки-v13: 21.0. +

У вас есть эта ошибка, так как appcompat и support-v13 зависят от поддержки-v4, и это конфликт версий.

Не самая лучшая ошибка кстати.

Ответ 2

Наконец, этот код работает для меня в:

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'
}

Ответ 3

Я столкнулся с аналогичной проблемой и нашел https://code.google.com/p/android/issues/detail?id=73802:" Библиотека поддержки v13: 19.1.0 имеет неправильные метаданные, возможно, в результате от переключателя до AAR от JAR '

Я попытался построить кучу разных комбинаций и нашел следующее:

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.0

compile "com.android.support:support-v4:22.0.0"
compile "com.android.support:appcompat-v7:22.0.0"
compile "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

compile "com.android.support:support-v4:19.0.0"
compile "com.android.support:appcompat-v7:19.0.0"
compile "com.android.support:support-v13:19.0.0"

Строит отлично

поддержка-v13 >= поддержка-v13: 20.0.0

compile "com.android.support:support-v4:13.0.0"
compile "com.android.support:appcompat-v7:22.0.0"
compile "com.android.support:support-v13:20.0.0"

Строит отлично

Итак, просто убедитесь, что поддержка-v13 по крайней мере поддерживается -13: 20.0.0 или новее.

Ответ 4

Удалить строку: compile 'com.android.support:appcompat-v7:21.0.+'

Ответ 5

Для v13 добавить compileSdkVersion 21, targetSdkVersion 21 и скомпилировать "com.android.support:support-v13:21.0.+" Вы не можете комментировать строку 'com.android.support:appcompat-v7:21.0.3', это должно работать <Образец > w140 >

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.+"

}