首页 > 解决方案 > 在 API 级别 23 中使用 Android 数据绑定

问题描述

.NET 开发人员在这里是 Android 世界的新手。我目前正在为 Vuzix M300 智能眼镜开发应用程序。Vuzix SDK 使用 Android 6.0 API Level 23。我也想使用 Android 的数据绑定库,但我在构建项目时遇到了麻烦。我的 app build.gradle 文件最初设置如下:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'Vuzix Corporation:Vuzix M300 SDK:23'
    defaultConfig {
        applicationId "xxx.xxxx"
        minSdkVersion 23
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        dataBinding { enabled = true }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

ext {
    support_version = '23.4.0'
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "com.android.support:appcompat-v7:$support_version"
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

但这给了我错误,所以我在网上搜索后添加了以下行:

implementation "com.android.support:support-v4:$support_version"

这导致了一个不同的错误,这就是我难住的地方:

程序类型已经存在:android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat Message{kind=ERROR, text=程序类型已经存在:android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat, sources=[Unknown source file], tool name=Optional。 (D8)}

我添加的 v4 支持存储库似乎与我已经拥有的 v7 存在冲突,但我不确定如何解决这个问题。我遇到了同样的错误,但也遇到了 AsyncTasks。

有没有人有任何想法?将不胜感激。

标签: androidandroid-gradle-pluginandroid-databinding

解决方案


您不必显式添加implementation "com.android.support:support-v4:$support_version"支持库,因为 V7 兼容库隐式依赖于 V4。


推荐阅读