目前我正在创建一些使用数据绑定的android模块,库模块在项目本身内工作正常(作为项目依赖项)。我遇到的问题是在另一个项目中使用那些AAR
时(作为平面文件依赖项),它找不到一些符号(找不到符号变量R.id.some_id 有点问题)
这是我尝试使用的库模块build.gradle
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
dataBinding {
enabled true
}
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
}
然后我通过执行AAR
创建gradle clean assembleRelease
,并将其放在libs文件夹中,然后我就这样使用它:
//...
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile (name:'librarymodule-release', ext:'aar')
}
我是否省略了什么?或者是否无法在AAR
s中使用数据绑定?
答案 0 :(得分:1)
我已经弄明白了,在我在库项目中的布局文件中,另一个具有相同名称的文件(它被称为<MyUserControl DataContext = "{Binding MyUserControlViewModel}" SearchText = "{Binding Comment}"/>
,并且我的另一个public string Comment
{
get
{
return _comment;
}
set
{
_comment = value;
}
}
public MyUserControlViewModel MyUserControlViewModel
{
get
{
return _myUserControlViewModel ;
}
set
{
_myUserControlViewModel = value;
}
}
发生冲突主持人项目)。