Gradle显示支持库的错误:"模块版本com.android.support:support-v13:19.0.1依赖于库但不是库本身"

Nis*_*oni 5 android gradle android-studio

这就是我的build.gradle所说的:

apply plugin: 'android'
apply plugin: 'crashlytics'
apply from : '../gradle/checkstyle.gradle'
apply from : '../gradle/pmd.gradle'

compileSdkVersion 19
buildToolsVersion "19.0.3"

defaultConfig {
    minSdkVersion 17
    targetSdkVersion 19
}
Run Code Online (Sandbox Code Playgroud)

但我看到这个编译错误:

Gradle 'mobi-client-connect-android-mobile' project refresh failed:
       Module version com.android.support:support-v13:19.0.1 depends on libraries but is not a library itself
Run Code Online (Sandbox Code Playgroud)

Ben*_*ill 5

如果您刚刚升级到Android Studio 0.8.x,请更新所有支持库版本号以匹配您的构建工具.

dependencies {
    compile 'com.android.support:support-v13:19.1.+'
    ...
}
Run Code Online (Sandbox Code Playgroud)

您可能想要更新构建工具版本

buildToolsVersion "19.1.0"
Run Code Online (Sandbox Code Playgroud)

蹩脚的错误消息:-(这次更新一直很痛苦!


Aug*_*ust 5

我不知道这是如何工作的!

原始Gradle:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'
    defaultConfig {
        applicationId 'org.ieeekjsieit.app'
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v13:19.+'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.nineoldandroids:library:2.4.+'
}
Run Code Online (Sandbox Code Playgroud)

我刚把它改成:

新Gradle:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'
    defaultConfig {
        applicationId 'org.ieeekjsieit.app'
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v13:19.+'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    compile 'com.android.support:appcompat-v7:19.+'
    compile 'com.nineoldandroids:library:2.4.+'
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我强制appcompat-v7使用特定版本的19. +而不是最新版本!

在改变之前我有这个错误:

Gradle 'org.ieeekjsieit.app' project refresh failed:
       Module version com.android.support:support-v13:19.1.0 depends on libraries but is not a library itself
Run Code Online (Sandbox Code Playgroud)


Nis*_*oni 3

我找到了解决方案。
我不得不将支持库和存储库的版本降级,
从:
Android支持存储库:6
Android支持库:20
到:
Android支持存储库:5
Android支持库:19.1

只能通过将该版本的“extras”文件夹复制到 sdk 的“extras”文件夹中来实现。