Nous avons récemment migré vers Android Studio (à partir d'Intellij). J'essaie actuellement de migrer notre projet pour utiliser gradle for builds. J'ai essayé de l'adapter à notre structure de dossiers actuelle, et j'ai essayé de migrer nos fichiers pour qu'ils correspondent à la structure de fichiers Gradle.
J'ai eu des erreurs dans les deux sens, je cherchais une réponse, mais je ne trouve rien qui corresponde exactement à ce que nous obtenons.
L'erreur que je reçois lors de la migration vers la structure de fichier Gradle est la suivante:
Qu'est ce qui ne s'est pas bien passé:
Un problème est survenu lors de la configuration du projet ':'.
Échec de notification du programme d'écoute d'évaluation du projet. Configuration avec le nom 'default' introuvable.
L'erreur que j'obtiens en utilisant notre ancienne structure de fichier est la suivante:
:<project>:processDebugResources
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:311: error: Error retrieving parent for item: No resource found that matches the given name '@style/Widget.Sherlock.ActionBar.Solid'.
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:312: error: Error: No resource found that matches the given name: attr 'background'.
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:314: error: Error: No resource found that matches the given name: attr 'backgroundSplit'.
Toutes les idées sur où regarder. Nous avons quelques références à des bibliothèques comme ActionBarSherlock.
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.4'
}
}
apply plugin: 'Android'
dependencies {
compile files('libs/Android-support-v4.jar')
compile files('libs/retrofit-1.0.0-SNAPSHOT.jar')
compile project(':ThirdParty:ActionBarSherlock')
compile project(':ThirdParty:drag-sort-listview')
compile project(':ThirdParty:SlidingMenu')
compile project(':ThirdParty:Android-ViewPagerIndicator')
}
Android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 17
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
resources.srcDirs = ['src']
res.srcDirs = ['res']
}
instrumentTest.setRoot('../UnitTests/src')
}
}
paramètres.gradle
include ':library:Android-ViewPagerIndicator',':library:SlidingMenu',':library:drag-sort-listview',':library:ActionBarSherlock',':<project>'
Toute idée serait appréciée.
En regardant vos dépendances:
dependencies {
compile files('libs/Android-support-v4.jar')
compile files('libs/retrofit-1.0.0-SNAPSHOT.jar')
compile project(':ThirdParty:ActionBarSherlock')
compile project(':ThirdParty:drag-sort-listview')
compile project(':ThirdParty:SlidingMenu')
compile project(':ThirdParty:Android-ViewPagerIndicator')
}
Vous devriez avoir dans votre settings.gradle:include ':ThirdParty:Android-ViewPagerIndicator' ....
plutôt que include ':library:Android-ViewPagerIndicator' ...
.
Vous obtiendrez parfois cette erreur si Gradle ne peut pas utiliser la structure de projet par défaut définie par le plug-in Android. Il semble que vous essayiez de configurer votre build.gradle pour utiliser la disposition oldstyle, mais vous avez oublié d'inclure certains répertoires (notamment Java.srcDirs). Essayez quelque chose comme:
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
Java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
Il se peut également que l'un de vos projets de dépendance ne soit pas configuré correctement. Avez-vous un fichier build.gradle pour ActionBarSherlock et les autres projets tiers? Essayez de commenter vos dépendances et de les ajouter une par une pour voir quand l’erreur se produit.
Une autre cause potentielle de cette erreur précise: j'ai trouvé que cette erreur avait été résolue en commentant des bibliothèques non utilisées dans la section des dépendances de build.gradle. Assurez-vous que ces chemins et tous sont corrects.