Gradle erreur de compilation “Pas de Signature de la Méthode”
Lorsque j'essaie d'exécuter ./gradlew build.gradle depuis le terminal, j'ai été faire d'erreur suivant:
> No signature of method: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile() is applicable for argument types: (org.gradle.api.internal.project.DefaultProject_Decorated) values: [project ':TestMobile']
Possible solutions: module(java.lang.Object)
J'ai essayé l'application java plugin à la racine de construire.gradle fichier et également sur des sous-projets. mais toujours je reçois la même erreur.
J'ai de la structure de projet suivante:
ProjectRepos
->build.gradle
->settings.gradle
->TestMobile (Android plugin)
->build.gradle
->ThirdParty/SlidingMenu (Android library)
->build.gradle
Où haut niveau de construction.gradle contient:
//Top-level build file where you can add configuration options common to all sub- projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
compile project(':TestMobile')
compile project(':ThirdParty:SlidingMenu')
}
}
paramètres.gradle contient les éléments suivants:
include ':ThirdParty:SlidingMenu'
include ':TestMobile'
TestMobile -> build.gradle contient les éléments suivants:
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':ThirdParty:SlidingMenu')
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
//Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
Tiers/SlidingMenu -> build.gradle contient les éléments suivants:
apply plugin: 'android-library'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
sourceSets {
main {
......
......
}
}
OriginalL'auteur user2506411 | 2013-10-09
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir
compile
des dépendances dans lebuildscript
blocclasspath
dépendances. Aussi, vous ne pouvez pas avoir les dépendances d'un projet. Vous avez probablement juste besoin de se débarrasser de ces deux lignes.Cela signifie que vous avez passé le plus tôt problème. Vous devez appeler
./gradlew build
, pas./gradlew build.gradle
. Je vous recommande d'étudier les premiers chapitres de la Gradle Guide de l'Utilisateur, ce qui fera de vous le plus de succès avec Gradle.Pierre - ./gradlew build résolu toutes les erreurs. Merci pour l'aide.
Merci, cela m'a permis de réaliser que j'ai à ajouter mon Goyave, Gson, etc dépendances dans un haut niveau de
dependencies
bloc. (Puis, dans Android Studio, exécutez "Outils -> Android -> Sync Projet avec Gradle fichiers" pour faire de la libs disponible dans l'IDE.)OriginalL'auteur Peter Niederwieser