tom*_*136 11 android android-appcompat google-play-services android-5.0-lollipop
我正在更新我的应用以带来材料主题支持(我的应用使用Google Play服务)
当我同步我的项目时,这出现了:
...\app\build\intermediates\exploded-aar\com.google.android.gms\play-services\6.1.11\res\values\wallet_colors.xml
Error:Attribute "showText" has already been defined
Run Code Online (Sandbox Code Playgroud)
我的gradle依赖:
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.google.android.gms:play-services:6.1.11'
// the latest version of play-services is 6.1.11
Run Code Online (Sandbox Code Playgroud)
如果我排除appcompat-v7,那么项目编译时没有错误.
我对棒棒糖感到兴奋,没有正确阅读文档吗?我怎样才能解决这个问题?
部分构建脚本:
compileSdkVersion 21
buildToolsVersion '21.0.1'
dexOptions {
preDexLibraries true
//incremental true
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
versionCode 11
versionName '1.0'
renderscriptTargetApi 21
renderscriptSupportMode true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
Run Code Online (Sandbox Code Playgroud)
本地Google存储库如下所示:
Dam*_*tla 20
@igavran回答指向正确的方向,但我想给出更全面的答案,所以它是:
Gradle Resource Merger合并来自所有依赖项的所有资源文件夹并放入单个文件夹中.如果存在重复,则构建过程将失败.
出于某些奇怪的原因,Android Studio指向消息窗口中Google Play服务库的wallet_colors.xml.Google Play服务与此问题无关.幸运的是,如果你看下面的输出:标签,你会找到问题的正确途径,例如
您还可以从命令行构建项目并获得正确的路径.
里面values.xml管线172(在你的情况不同的线路)的文件,你会发现一个<declare-styleable>
名为财产"色"("showText"你的情况).最有可能是你自己的风格,你必须改变,以摆脱重复.
所以现在,当你知道原因时,你可以在项目模块中找到该属性并用不同的名称替换它.我猜它会位于/values/attrs.xml文件中.
我在同一个问题上花了最后两个小时,在我的情况下问题是我已经定义了我自己的属性"showText"(在res/values/attrs.xml中),它与定义的属性发生冲突 <declare-styleable name="SwitchCompat">
.
使用appcompat-v7:20但使用appcompat-v7:21构建失败时,此问题不存在.
归档时间: |
|
查看次数: |
6055 次 |
最近记录: |