Gradle не удалось найти com.android.databinding: dataBinder: 1.0-rc0
Поскольку я перехожу к руководству по привязке данных Android от https://developer.android.com/tools/data-binding/guide.html. Я убедился, что я запускаю Android Studio 1.3 (версия canary).
Следуя рекомендациям, я получаю эту ошибку:
Gradle sync failed: could not find com.android.databinding:library:1.0-rc0
У кого-то еще такая же проблема? Благодарим за помощь.
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()
}
}
Модуль 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"
}
Ответы
Ответ 1
У меня была эта проблема и она была решена, добавив "jcenter" в allprojects.repositories в моем build-уровне (на самом деле я использовал 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 ***
}
}
Ответ 2
У меня возникли ошибки при синхронизации файлов build.gradle.
Ошибка: не удалось выполнить: com.android.databinding: library: 1.0-rc0
Ошибка: не удалось выполнить: com.android.databinding: адаптеры: 1.0-rc0
И я наконец нашел решение.
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.+"
}
Ответ 3
Посмотрев на свою ошибку Gradle couldn't find com.android.databinding:dataBinder:1.0-rc0
, вы должны попробовать это,
classpath "com.android.databinding:dataBinder:1.0-rc1"
Чтобы использовать DataBinding
, выполните следующие шаги.
- Обновите версию
Android Studio
до Android Studio 1.3
.
-
Чтобы настроить application
для использования data binding
, добавьте data
binding
в путь класса вашего файла top-level
build.gradle
прямо под "андроидом".
dependencies {
classpath "com.android.tools.build:gradle:1.3"
classpath "com.android.databinding:dataBinder:1.0-rc1"
}
-
Затем убедитесь, что jcenter находится в списке репозиториев для ваших проектов
в файле build.gradle верхнего уровня.
allprojects {
repositories {
jcenter()
}
}
-
В каждом модуле, который вы хотите использовать привязку данных, примените право плагина
после плагина android.
apply plugin: 'com.android.application'
apply plugin: 'com.android.databinding'
-
Clean
и build
ваше приложение.
Полный код
top-level
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.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
файл,
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'
}
Подробнее Руководство по привязке данных.
Для полной демонстрации привязка данных Android
Ответ 4
Убедитесь, что у вас Android Studio 1.3 или выше
Ваш проект build.gradle должен выглядеть примерно так:
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()
}
}
И ваш модуль build.gradle должен выглядеть примерно так:
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'])
}
У меня была проблема, когда я настраивал M Preview, поэтому ничего не работало. Как только я изменил инструменты сборки на 22.0.1, а targetSdkVersion на 22, все сработало.
Ответ 5
У меня была такая же проблема и она была решена, обновив инструменты android sdk до 24.3.3.
Ответ 6
Как говорится в документации,
Чтобы использовать привязку данных, Android Plugin для Gradle 1.5.0-alpha1 или выше не требуется.
Я добавил следующую строку для проекта 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
}
а затем добавьте:
dataBinding {
enabled = true
}
для вашего приложения build.graddle, например:
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'
}
Ответ 7
Пожалуйста, попробуйте изменить classpath на com.android.tools.build: gradle: 1.3.0-beta 2 "и установите buildToolsVersion" 23 rc2 ".
Не забудьте обновить пакеты SDK через менеджер SDK, прежде чем делать это.
Здесь вы можете найти более подробную информацию о Android Preview SDK: Настроить предварительный просмотр SDK
Ответ 8
У меня была идентичная проблема, и она была решена, удалив плагин для android-apt. Не уверен, что там конфликтует, но что-то есть.
Ответ 9
Вам следует обновить SDK и решить эту проблему.
Ответ 10
Вы должны добавить
classpath 'com.android.tools.build:gradle:1.3.0'
classpath "com.android.databinding:dataBinder:1.0-rc0"
Ответ 11
Синхронизировать проект после добавления пути к классам