找不到support-annotations.jar [英] Could not find support-annotations.jar

查看:75
本文介绍了找不到support-annotations.jar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试按照android测试步骤7上的说明进行操作 https://codelabs.developers.google.com/codelabs/android-testing/#6

I'm trying to follow the instructions on android testing step 7 https://codelabs.developers.google.com/codelabs/android-testing/#6

克隆了仓库:git clone https://github.com/googlecodelabs/android-testing.git -b step-7

即使我删除了对支持注释的所有引用,gradle也会出现相同的错误并停止:

Even though I remove every reference to support-annotations, gradle gives the same error and stops:

Error:A problem occurred configuring project ':app'.
> Could not find support-annotations.jar (com.android.support:support-annotations:23.1.1).
  Searched in the following locations:      file:/C:/Users/UserName/Documents/android_studio/sdk/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar

build.gradle文件:

 apply plugin: 'com.android.application'

    android {
        compileSdkVersion rootProject.ext.compileSdkVersion
        buildToolsVersion rootProject.ext.buildToolsVersion

        defaultConfig {
            applicationId "com.example.android.testing.notes"
            minSdkVersion rootProject.ext.minSdkVersion
            targetSdkVersion rootProject.ext.targetSdkVersion
            versionCode 1
            versionName "1.0"

            testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
        }

        buildTypes {
            debug {
                // Run code coverage reports by default on debug builds.
                // testCoverageEnabled = true
            }
        }

        // If you need to add more flavors, consider using flavor dimensions.
        productFlavors {
            mock {
                applicationIdSuffix = ".mock"
            }
            prod {

            }
        }

        // Remove mockRelease as it's not needed.
        android.variantFilter { variant ->
            if(variant.buildType.name.equals('release')
                    && variant.getFlavors().get(0).name.equals('mock')) {
                variant.setIgnore(true);
            }
        }

        // Always show the result of every unit test, even if it passes.
        testOptions.unitTests.all {
            testLogging {
                events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
            }
        }
    }

    /*
     Dependency versions are defined in the top level build.gradle file. This helps keeping track of
     all versions in a single place. This improves readability and helps managing project complexity.
     */
    dependencies {
        // App's dependencies, including test
        compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
        compile "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
        compile "com.android.support:design:$rootProject.supportLibraryVersion"
        compile "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
        compile "com.android.support:support-v4:$rootProject.supportLibraryVersion"
        compile "com.google.guava:guava:$rootProject.guavaVersion"
        compile "com.github.bumptech.glide:glide:$rootProject.glideVersion"
        compile "com.android.support.test.espresso:espresso-idling-resource:$rootProject.ext.espressoVersion"

        // Dependencies for local unit tests
        testCompile "junit:junit:$rootProject.ext.junitVersion"
        testCompile "org.mockito:mockito-all:$rootProject.ext.mockitoVersion"
        testCompile "org.hamcrest:hamcrest-all:$rootProject.ext.hamcrestVersion"
        testCompile "org.powermock:powermock-module-junit4:$rootProject.ext.powerMockito"
        testCompile "org.powermock:powermock-api-mockito:$rootProject.ext.powerMockito"

        // Android Testing Support Library's runner and rules
        androidTestCompile "com.android.support.test:runner:$rootProject.ext.runnerVersion"
        androidTestCompile "com.android.support.test:rules:$rootProject.ext.runnerVersion"

        // Espresso UI Testing dependencies.
        androidTestCompile "com.android.support.test.espresso:espresso-core:$rootProject.ext.espressoVersion"
        androidTestCompile "com.android.support.test.espresso:espresso-contrib:$rootProject.ext.espressoVersion"
        androidTestCompile "com.android.support.test.espresso:espresso-intents:$rootProject.ext.espressoVersion"
    }

    /*
    Resolves dependency versions across test and production APKs, specifically, transitive
    dependencies. This is required since Espresso internally has a dependency on support-annotations.
    */
    configurations.all {
        resolutionStrategy.force "com.android.support:support-annotations:$rootProject.supportLibraryVersion"
    }

    /*
    All direct/transitive dependencies shared between your test and production APKs need to be
    excluded from the test APK! This is necessary because both APKs will contain the same classes. Not
    excluding these dependencies from your test configuration will result in an dex pre-verifier error
    at runtime. More info in this tools bug: (https://code.google.com/p/android/issues/detail?id=192497)
    */
    configurations.compile.dependencies.each { compileDependency ->
        println "Excluding compile dependency: ${compileDependency.getName()}"
        configurations.androidTestCompile.dependencies.each { androidTestCompileDependency ->
            configurations.androidTestCompile.exclude module: "${compileDependency.getName()}"
        }
    }

推荐答案

更新android支持存储库软件包

update android support repository package

这篇关于找不到support-annotations.jar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆