Lorsque j'essaie de compiler un project importé de github, ma construction de gradle échoue toujours avec l'exception suivante.
Unable to find method 'org.gradle.api.tasks.testing.Test.getTestClassesDirs()Lorg/gradle/api/file/FileCollection;'
Possible causes for this unexpected error include:<ul><li>Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)</li><li>The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)</li><li>Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.</li></ul>In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes
J'ai suivi les instructions données mais cela n'a pas fonctionné. De plus, je n'ai pas pu obtenir plus d'informations sur l'erreur en effectuant une recherche sur Internet.
app\build.gradle:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "iammert.com.androidarchitecture"
minSdkVersion 21
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
dataBinding {
enabled = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
/*androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})*/
// testCompile 'junit:junit:4.12'
//support lib
implementation rootProject.ext.supportLibAppCompat
implementation rootProject.ext.supportLibDesign
implementation rootProject.ext.archRuntime
implementation rootProject.ext.archExtension
annotationProcessor rootProject.ext.archCompiler
implementation rootProject.ext.roomRuntime
annotationProcessor rootProject.ext.roomCompiler
implementation rootProject.ext.okhttp
implementation rootProject.ext.retrofit
implementation rootProject.ext.gsonConverter
//dagger
annotationProcessor rootProject.ext.daggerCompiler
implementation rootProject.ext.dagger
implementation rootProject.ext.daggerAndroid
implementation rootProject.ext.daggerAndroidSupport
annotationProcessor rootProject.ext.daggerAndroidProcessor
//ui
implementation rootProject.ext.picasso
}
\ build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.0.0-alpha3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext {
supportLibVersion = '25.3.1'
daggerVersion = '2.11'
retrofitVersion = '2.1.0'
gsonConverterVersion = '2.1.0'
okhttpVersion = '3.8.0'
picassoVersion = '2.5.2'
archVersion = '1.0.0-alpha1'
supportLibAppCompat = "com.Android.support:appcompat-v7:$supportLibVersion"
supportLibDesign = "com.Android.support:design:$supportLibVersion"
archRuntime = "Android.Arch.lifecycle:runtime:$archVersion"
archExtension = "Android.Arch.lifecycle:extensions:$archVersion"
archCompiler = "Android.Arch.lifecycle:compiler:$archVersion"
roomRuntime = "Android.Arch.persistence.room:runtime:$archVersion"
roomCompiler = "Android.Arch.persistence.room:compiler:$archVersion"
dagger = "com.google.dagger:dagger:$daggerVersion"
daggerCompiler = "com.google.dagger:dagger-compiler:$daggerVersion"
daggerAndroid = "com.google.dagger:dagger-Android:$daggerVersion"
daggerAndroidSupport = "com.google.dagger:dagger-Android-support:$daggerVersion"
daggerAndroidProcessor = "com.google.dagger:dagger-Android-processor:$daggerVersion"
retrofit = "com.squareup.retrofit2:retrofit:$retrofitVersion"
gsonConverter = "com.squareup.retrofit2:converter-gson:$gsonConverterVersion"
okhttp = "com.squareup.okhttp3:okhttp:$okhttpVersion"
picasso = "com.squareup.picasso:picasso:$picassoVersion"
}
gradle\gradle-wrapper.properties:
#Thu May 18 17:31:31 EEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.Zip
Est-ce que quelqu'un sait pourquoi cette erreur se produit?
Je devais changer le distributionUrl dans le gradle-wrapper.properties
en distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip
pour que la construction soit à nouveau opérationnelle. Cela semble être un problème similaire Echec de la synchronisation Gradle: Impossible de trouver la méthode .
On dirait que vous ne parvenez pas à résoudre votre testInstrumentation. Utilisez-vous facebook.screenshot api? si c'est le cas, vous devez l'inclure.
Sinon, commentez simplement la section testInstrument et voyez si vous pouvez construire sans les tests pour l'instant si vous ne vous en souciez pas. sinon, vous devez corriger votre dépendance à cet égard.
* commenter testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
Cela provoque la création d'une ligne dans votre manifeste et sa résolution n'est probablement pas correcte.