Lorsque je vais sur le Guide de liaison de données Android à partir de https://developer.Android.com/tools/data-binding/guide.html . Je me suis assuré que je suis sous Android Studio 1.3 (version canarienne).
En suivant les instructions, j’obtiens cette erreur:
Gradle sync failed: could not find com.Android.databinding:library:1.0-rc0
Quelqu'un at-il le même problème? Merci de votre aide.
App build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.3.0-beta1'
classpath "com.Android.databinding:dataBinder:1.0-rc0"
}
}
allprojects {
repositories {
jcenter()
}
}
Module build.graddle
apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'
apply plugin: 'Android-apt'
def AAVersion = '3.3'
def MyProject = 'com.commonsware.Android.frw.filesdemo'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.4'
}
}
repositories {
mavenCentral()
}
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
resourcePackageName "$MyProject"
}
}
Android {
compileSdkVersion 22
buildToolsVersion "22"
defaultConfig {
applicationId "$MyProject"
minSdkVersion 17
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
packagingOptions{
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/services/com.fasterxml.jackson.core.JsonFactory'
}
dexOptions {
preDexLibraries = false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:22.0.0'
compile "com.squareup:otto:1.3.6"
compile "commons-io:commons-io:+"
compile 'com.fasterxml.jackson.jr:jackson-jr-all:2.5.0'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
}
J'ai eu ce problème et l'a résolu en ajoutant "jcenter" sous allprojects.repositories dans mon build.gradle de niveau supérieur (j'avais déjà utilisé mavenCentral).
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.3.0'
classpath 'com.Android.databinding:dataBinder:1.0-rc1'
}
}
allprojects {
repositories {
mavenCentral()
jcenter() // <=== *** Adding this fixed it ***
}
}
J'ai des erreurs lorsque je synchronise les fichiers build.gradle.
Erreur: Impossible de résoudre: com.Android.databinding: bibliothèque: 1.0-rc0
Erreur: Impossible de résoudre: com.Android.databinding: adapters: 1.0-rc0
Et j'ai enfin trouvé la solution.
dependencies {
// instead of the below pathes...
//classpath "com.Android.tools.build:gradle:1.3.0-beta2"
//classpath "com.Android.databinding:dataBinder:1.0-rc0"
// I used the following classpathes.... It works!
classpath "com.Android.tools.build:gradle:1.3.+"
classpath "com.Android.databinding:dataBinder:1.+"
}
En regardant votre erreur Gradle couldn't find com.Android.databinding:dataBinder:1.0-rc0
, vous devriez plutôt essayer ceci,
classpath "com.Android.databinding:dataBinder:1.0-rc1"
Pour utiliser
DataBinding
, suivez toutes ces étapes.
Android Studio
vers la version Android Studio 1.3
.Pour que votre application
puisse utiliser data binding
, ajoutez data
binding
au chemin de classe de votre fichier top-level
build.gradle
, Juste en dessous de "Android".
dependencies {
classpath "com.Android.tools.build:gradle:1.3"
classpath "com.Android.databinding:dataBinder:1.0-rc1"
}
Assurez-vous ensuite que jcenter figure dans la liste des référentiels de vos projets dans le fichier build.gradle de niveau supérieur.
allprojects {
repositories {
jcenter()
}
}
Dans chaque module pour lequel vous souhaitez utiliser la liaison de données, appliquez le plug-in à droite, après le plug-in Android.
apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'
Clean
et build
votre application.
Code complet
top-level
build.gradle
fichier,
// 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:1.3'
classpath "com.Android.databinding:dataBinder:1.0-rc1"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
module-level
build.gradle
fichier,
apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'
Android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.packagename"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:22.2.1'
}
Pour plus de détails Guide de liaison de données .
Pour une démo complète Liaison de données Android
Assurez-vous que vous avez Android Studio 1.3 ou supérieur
Votre projet build.gradle devrait ressembler à ceci:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.3.0-beta1'
classpath "com.Android.databinding:dataBinder:1.0-rc0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
Et votre module build.gradle devrait ressembler à ceci:
apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'
Android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.my.appId"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
J'ai eu un problème où je visais M Preview et rien n'a fonctionné. Une fois que j'ai modifié les outils de génération en 22.0.1 et le targetSdkVersion en 22, tout fonctionnait.
J'ai eu le même problème et l'ai résolu en mettant à jour les outils Android SDK vers 24.3.3.
Comme le dit la documentation
Pour utiliser la liaison de données, Android Plugin for Gradle 1.5.0-alpha1 ou supérieur est requis.
J'ai ajouté la ligne suivante au projet build.gradle:
// 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:1.5.0-beta2"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
puis ajoutez le:
dataBinding {
enabled = true
}
à votre application de module build.graddle comme ceci:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "gujarat.databinding"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
dataBinding {
enabled = true
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:support-v4:23.1.1'
}
J'ai eu un problème identique, et résolu en supprimant le plugin pour Android-apt. Pas sûr de ce qui est en conflit là-bas, mais quelque chose est.
Vous devriez mettre à jour votreSDKet cela résoudra ce problème.
Essayez de changer le chemin de classe en 'com.Android.tools.build:gradle:1.3.0-beta2' et définissez buildToolsVersion "23 rc2".
N'oubliez pas de mettre à jour les packages SDK via le gestionnaire de SDK avant de le faire.
Vous trouverez ici plus d’informations sur Android Preview SDK: Configurer le Preview SDK
Vous n'avez pas besoin d'ajouter la dépendance databinding:dataBinder
maintenant. Activez simplement dataBinding dans le niveau d'application build.gradle
dans la balise Android.
Android
{
...
dataBinding {
enabled = true
}
...
}