2016-05-08 65 views
0

我想跟随在Android,测试步骤的说明7 https://codelabs.developers.google.com/codelabs/android-testing/#6找不到支持,annotations.jar

克隆回购:git clone https://github.com/googlecodelabs/android-testing.git -b step-7

即使我将所有记录,支持批注, gradle这个给出了同样的错误并停止:

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()}" 
     } 
    } 
+1

我克隆了一个项目,并能够建立和顺利运行。当你得到错误时你在做什么? – Michiyo

+0

是的,最后我能够编译这个项目。 这是android studio 2.1。令人惊讶地给我所有项目的相同错误,无论他们是否在寻找支持注释。 我重新验证了缓存,更新了所有SDK存储库。重新启动android studio。它的工作。谢谢。 – nexDev

回答

0

尝试安装的依赖:

echo y | android update sdk --no-ui --all --filter extra-google-google_play_services,extra-google-m2repository 

gradle dependencies 
0

enter image description here

更新的Android支持库包