0

我今天早些时候听说了一些关于数据绑定的事情。因为我想尝试一下并了解它,所以我创建了一个测试项目。

Data Binding是 API 7+ 上可用的支持存储库。使用dataBinder,我们能够在绑定应用程序逻辑和布局时告别findViewById(开发人员经常抱怨这一点)。

以下是有关我的项目的信息: Android Studio:

  • 当前版本:Android Studio 1.3
  • 内部版本号:AI-141.2071668
  • Android SDK 工具:24.3.3
  • Android 平台版本:MNC 修订版 2

项目build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0-beta4'
        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 'android-MNC'
    buildToolsVersion "23.0.0 rc3"
    defaultConfig {
        applicationId "me.danielpan.databindingsample"
        minSdkVersion 9
        targetSdkVersion 'MNC'
        versionCode 1
        versionName '1.0.0'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.0'
}

当我在 Genymotion Emulator(Android 5.1.0 中的 Nexus 5)上运行这个项目时,发生了错误:

Installing me.danielpan.databindingsample
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/me.danielpan.databindingsample"
pkg: /data/local/tmp/me.danielpan.databindingsample
Failure [INSTALL_FAILED_OLDER_SDK]


DEVICE SHELL COMMAND: pm uninstall me.danielpan.databindingsample
DELETE_FAILED_INTERNAL_ERROR

所以,我有一些问题:

1DELETE_FAILED_INTERNAL_ERROR发生了很多次。当我设置 compileSdkVersion 'android-MNC' buildToolsVersion "23.0.0 rc3" 时似乎发生了这个错误那么,这是这个版本的Android Build Tools的问题吗?

2,我遵循了Data Binding Guide,但我认为它已经过时了。因为Gradle Plugin一直是1.3.0-beta4 ,所以 dataBinder 的版本应该在发布后就已经进化了。那么,最新版本的数据绑定插件是什么?

任何提示将不胜感激。提前致谢。

PS

当我设置 Gradle Plugin 的版本时1.2.3buildToolsVersion“22.0.1” compileSdkVersion22 和targetSdkVersion22DELETE_FAILED_INTERNAL_ERROR不再发生,有人能告诉我为什么吗?

4

1 回答 1

1

我可以回答第二个问题。RC1 刚刚发布,但文档尚未更新。它将显示:

dependencies {
   classpath "com.android.tools.build:gradle:1.3.0-beta4"
   classpath "com.android.databinding:dataBinder:1.0-rc1"
}
于 2015-07-20T21:21:57.220 回答