2015-07-11 30 views
7

Połączyłem się z this przewodnikiem, aby zbudować hybrydowy projekt ndk pod numerem Android Studio 1.3.0 RC1 z gradle-experimental: 0.1.0.jak dodać zależność testową z pluginem gradle android eksperymentalny 0.1.0

Wszystko jest w porządku, ale jeśli spróbuję dodać bibliotekę testową, stwierdziłem, że metoda androidTestCompile nie jest już obsługiwana. Tak:

Error: DSL method not found

I testCompile również powodować ten sam błąd.

Oficjalny przewodnik nie mówi o tym. A więc, jak mogę dodać zależność test-dodawania gradle-experimental Lub ta wersja nie obsługuje tej funkcji?

To mój build.gradle (projekt):

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle-experimental:0.1.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

To build.gradle (moudle):

apply plugin: 'com.android.model.application' 

model { 
    android { 
     compileSdkVersion = 22 
     buildToolsVersion = "23.0.0 rc3" 

     defaultConfig.with { 
      applicationId = "co.yishun.onemoment.app" 
      minSdkVersion.apiLevel = 15 
      targetSdkVersion.apiLevel = 22 
      versionCode = 5 
      versionName = "2.0 canary" 
      testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner" 
     } 
    } 

    android.buildTypes { 
     release { 
      isMinifyEnabled = true 
      proguardFiles += file('proguard-rules.pro') 
     } 
    } 

    android.productFlavors { 
     create("flavor1") { 
      applicationId = 'com.app' 
     } 
    } 

    android.ndk { 
     moduleName = "c_test" 
    } 
} 

dependencies { 


    androidTestCompile 'com.android.support.test:runner:0.3' 
    // Set this dependency to use JUnit 4 rules 
    androidTestCompile 'com.android.support.test:rules:0.3' 
    // Set this dependency to build and run Espresso tests 
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' 


    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:support-annotations:22.2.0' 
    compile 'com.android.support:support-v4:22.2.0' 
} 

Odpowiedz

2

Musisz się upewnić, że używasz Gradle 2.5. Pod File > Project Structure przejdź do Project i ustaw "Wersję Gradle" na 2.5. Pod File > Settings przejdź do Build, Execution, Deployment > Build Tools > Gradle i upewnij się, że zaznaczone jest "Użyj domyślnego wrappera Gradle (zalecane)". Zmodyfikuj także opakowanie Gradle, edytując plik projektu gradle/wrapper/gradle-wrapper.properties. Kopalnia wygląda następująco:

#Mon Jul 13 17:55:42 EDT 2015 
distributionBase=GRADLE_USER_HOME 
distributionPath=wrapper/dists 
zipStoreBase=GRADLE_USER_HOME 
zipStorePath=wrapper/dists 
distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-all.zip 

zrobiłem kroki w powyższej kolejności, ale po tym myśleć pisząc to, być może byłoby najlepiej, aby odwrócić kolejność. Zauważyłem, że muszę całkowicie zamknąć Androida Studio i ponownie go uruchomić, zanim wszystkie zmiany zostaną rozpoznane. Być może coś zostało gdzieś zbuforowane, a może był to artefakt w porządku, w którym robiłem różne rzeczy.

Zobacz także this thread, aby uzyskać więcej informacji o ustawianiu wersji Gradle.