Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android Studio中为android buildToolsVersion或targetSdkVersion声明/配置正确的渐变依赖项?_Android_Android Studio_Android Gradle Plugin_Build.gradle_Android Build - Fatal编程技术网

如何在android Studio中为android buildToolsVersion或targetSdkVersion声明/配置正确的渐变依赖项?

如何在android Studio中为android buildToolsVersion或targetSdkVersion声明/配置正确的渐变依赖项?,android,android-studio,android-gradle-plugin,build.gradle,android-build,Android,Android Studio,Android Gradle Plugin,Build.gradle,Android Build,每当我在Android Studio中设置新项目或降级targetSdkVersion时,我都会多次遇到这个问题 Gradle build system start complaining about dependencies "Failed to resolve: com.android.support:recyclerview-v7:21.1.2" or something else. 我的问题是: gradle依赖项的版本与targetSdkVersion/compileSdkVers

每当我在Android Studio中设置新项目或降级targetSdkVersion时,我都会多次遇到这个问题

Gradle build system start complaining about dependencies "Failed to resolve: com.android.support:recyclerview-v7:21.1.2" or something else. 
我的问题是:


gradle依赖项的版本与targetSdkVersion/compileSdkVersion/buildToolsVersion之间是否存在任何关系?如果是,那么它是如何计算的,我如何配置并计算出正确的依赖项而不必每次通过谷歌搜索?

在当前项目中,我的build.gradle文件

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"



defaultConfig {
    applicationId "com.mukesh.manageinvestment"
    minSdkVersion 8
    targetSdkVersion 23
    versionCode 1
    versionName "1.0.0"
}

def siteURL = '"'+WebsiteURL+'"'
def gameURL = '"'+GamesURL+'"'

signingConfigs{
    debug{

    }

    release{

    }
}

buildTypes {
    debug{
        minifyEnabled false
        buildConfigField "String", "BaseURL", siteURL
        buildConfigField "String", "GameURL", gameURL
        signingConfig signingConfigs.release
    }

    release {
        minifyEnabled true
        buildConfigField "String", "BaseURL", siteURL
        buildConfigField "String", "GameURL", gameURL
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.squareup.picasso:picasso:2.4.0'
}
我已将targetSdkVersion 23更改为21,我当前的build.gradle看起来是这样的

apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"



defaultConfig {
    applicationId "com.devendraprasad.manageinvestment"
    minSdkVersion 8
    targetSdkVersion 21
    versionCode 1
    versionName "1.0.0"
}

def siteURL = '"'+WebsiteURL+'"'
def gameURL = '"'+GamesURL+'"'

signingConfigs{
    debug{

    }

    release{

    }
}

buildTypes {
    debug{
        minifyEnabled false
        buildConfigField "String", "BaseURL", siteURL
        buildConfigField "String", "GameURL", gameURL
        signingConfig signingConfigs.release
    }

    release {
        minifyEnabled true
        buildConfigField "String", "BaseURL", siteURL
        buildConfigField "String", "GameURL", gameURL
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:21.1.2'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.android.support:recyclerview-v7:21.1.2'
compile 'com.squareup.picasso:picasso:2.4.0'
}
每个东西看起来都很好,依赖项版本都与targetSdkVersion和buildToolsVersion匹配,但应用程序仍然没有编译。它给出了这个错误

Information:Gradle tasks [:app:assembleDebug]
错误:配置项目“:app”时出现问题

无法解析配置“”的所有依赖项:应用:\ u debugCompile'。 找不到com.android.support:appcompat-v7:21.1.2。 在以下位置搜索: 文件:/C:/Program Files/Android/Android Studio1/gradle/m2 repository/com/Android/support/appcompat-v7/21.1.2/appcompat-v7-21.1.2.pom 文件:/C:/Program Files/Android/Android Studio1/gradle/m2repository/com/Android/support/appcompat-v7/21.1.2/appcompat-v7-21.1.2.jar 文件:/F:/Software/android sdk windows/extras/android/m2repository/com/android/support/appcompat-v7/21.1.2/appcompat-v7-21.1.2.pom 文件:/F:/Software/android sdk windows/extras/android/m2repository/com/android/support/appcompat-v7/21.1.2/appcompat-v7-21.1.2.jar 文件:/F:/Software/android sdk windows/extras/google/m2repository/com/android/support/appcompat-v7/21.1.2/appcompat-v7-21.1.2.pom 文件:/F:/Software/android sdk windows/extras/google/m2repository/com/android/support/appcompat-v7/21.1.2/appcompat-v7-21.1.2.jar 要求: ManageInvestment:应用程序:未指定 找不到com.android.support:recyclerview-v7:21.1.2。 在以下位置搜索: 文件:/C:/Program Files/Android/Android Studio1/gradle/m2repository/com/Android/support/recyclerview-v7/21.1.2/recyclerview-v7-21.1.2.pom 文件:/C:/Program Files/Android/Android Studio1/gradle/m2repository/com/Android/support/recyclerview-v7/21.1.2/recyclerview-v7-21.1.2.jar 文件:/F:/Software/android sdk windows/extras/android/m2repository/com/android/support/recyclerview-v7/21.1.2/recyclerview-v7-21.1.2.pom 文件:/F:/Software/android sdk windows/extras/android/m2repository/com/android/support/recyclerview-v7/21.1.2/recyclerview-v7-21.1.2.jar 文件:/F:/Software/android sdk windows/extras/google/m2repository/com/android/support/recyclerview-v7/21.1.2/recyclerview-v7-21.1.2.pom 文件:/F:/Software/android sdk windows/extras/google/m2repository/com/android/support/recyclerview-v7/21.1.2/recyclerview-v7-21.1.2.jar 要求: ManageInvestment:应用程序:未指定 信息:生成失败 信息:总时间:7.733秒 信息:1个错误 信息:0个警告 信息:请参阅控制台中的完整输出

附后是我的sdk管理器截图


这是因为
21.1.2
的支持库不存在

使用其中一种:

21.0.0
21.0.2
21.0.3
22.0.0
22.1.0
22.1.1
22.2.0
22.2.1
23.0.0
23.0.1
23.1.0
23.1.1
23.2.0
23.3.0
23.4.0
24.0.0
24.1.0
24.1.1
24.2.0
24.2.1

gradle依赖项的版本与targetSdkVersion/compileSdkVersion/buildToolsVersion之间是否存在任何关系?如果是,那么它是如何计算的,我如何配置并计算出正确的依赖项而不必每次通过谷歌搜索?

compileSdkVersion
与支持库的主要版本之间存在关系

使用支持库v21的
compileSdkVersion=21

使用支持库v22的
compileSdkVersion=22

使用支持库v23的
compileSdkVersion=23

对支持库v24使用
compileSdkVersion=24


通常,支持库的新版本与新平台版本一起发布,为新添加的API和新功能提供兼容性垫片。

buildToolsVersion和support library版本之间是否有任何关系?@MukeshJha不确定,但我不认为。无论如何使用最新版本都是一个不错的主意。我已经将buildToolsVersion设置为“21.1.2”,编译了DKVersion 21,targetSdkVersion 21和dependecy中编译'com.android.support:appcompat-v7:21.0.3',但它显示错误“找不到符号类AppCompatActivity”。@MukeshJha在21.0.3 AppCompatyActivity中不存在。在此版本中,它是ActionBarActivity。@MukeshJha在任何情况下,您都可以使用compileSdk=24和targetSdk=21的最新支持库。