幕后发生了一些事情,由于依赖性堆栈中的冲突,我的项目将不再构建和/或运行 .
我试图修改依赖项的版本号,并确认facebookSDK项目设置为使用支持lib v22构建 . 我怎样才能弄清楚是什么导致v23 appcompat支持lib进入我的项目?
Here's the build error I am getting:
/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/res/values-v23/values-v23.xml错误:(2)检索项目的父项时出错:找不到资源匹配给定名称'android:TextAppearance.Material.Widget.Button.Inverse' . 错误:(2)检索项目的父项时出错:找不到与给定名称“android:Widget.Material.Button.Colored”匹配的资源 .
And the gradle info:
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 22
multiDexEnabled true
}
}
dependencies {
compile project(':facebookSDK')
compile 'com.android.support:support-v4:22.0.0'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.android.support:design:22.2.1'
compile 'com.android.support:cardview-v7:22.2.1'
compile 'com.android.support:multidex:1.0.0'
...
}
2 回答
Facebook及其
facebook-android-sdk
试图尽可能保持他们的依赖关系 . 您有23.0.0
Android支持库版本的问题,我用23.1.1
... :-)我强烈建议您将现有配置更改为此配置:
看,你甚至可以添加facebook-android-sdk作为Gradle的依赖项,这样你就可以删除existsin文件夹而不用担心保持新鲜感 .
您还可以保持低位
targetSdkVersion
,这在您不想实现Android权限或打盹模式兼容性等方面很有用 .希望它会有所帮助
您可以将这些行更新为最新版本,而不会影响您可以运行代码的API级别 . 您缺少v23资源,因此请至少使用版本23进行编译 .
这些行应该是相同的版本,但使用
support:design
库时甚至不需要它们 . 随意删除这些 .对于这一行,我非常怀疑您使用的是所有Google Play服务 . 请在您的应用中阅读only using those you really need .
在你缩小这些可能性后,我建议你使用这些(从经验来看,似乎工作正常) .
由于您没有显示Facebook依赖关系,因此很难就此提供建议