更新后android studio中的资源错误:找不到资源

Jam*_*son 101 java apache android

在最近更新Android Studio之后,我们在编译以前工作的项目时遇到了问题.起初我们收到以下错误:

/Users/james/Development/AndroidProjects/myapp/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/res/values-v23/values-v23.xml
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.
Run Code Online (Sandbox Code Playgroud)

我将gradle文件中的sdk构建目标更新为23,这使得这个特定问题消失了,但它给我们留下了大量的apache.http包错误(具体来说,我们用于http内容的大量apache包现在已经不见了在sdk 23).

我想要做的是解决奇怪的资源错误,但没有更新到sdk 23.我现在没有时间重新编写我们的工具库来使用已发布的apache http组件的任何新实现.有没有人有任何想法?

Rob*_* B. 197

您需要将compileSdkVersion设置为23.

由于API 23 Android删除了已弃用的Apache Http软件包,因此如果您将它们用于服务器请求,则需要useLibrary 'org.apache.http.legacy'按照链接中的说明添加到build.gradle :

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}
Run Code Online (Sandbox Code Playgroud)

  • 这个答案比回到22.2.1要好得多 (4认同)
  • 它肯定是一个理想的答案,显然是大多数人的正确行动方案,但是,它没有回答我的问题,即在不更新sdk版本的情况下解决问题.这样做打破了我们依赖的库,但当时没有时间更新.我们已经更新了库以使用新功能,现在我们可以安全地更新到sdk 23. (4认同)
  • 这适合我,接受我的upvote :) (2认同)

Tun*_*nga 78

将build.gradle文件中的appcompat版本更改回22.2.1(或之前使用的任何内容).

  • @Solace Eclipse是没用的 (10认同)
  • @BackPacker号Android Studio是个问题.我有一台好电脑,Android Studio需要永远编译一个简单的hello world应用程序. (6认同)
  • 谢谢,这是解决方案.我按照此处的说明操作:https://code.google.com/p/android/issues/detail?id = 183122 #makechanges具体来说,scott提供的解决方案.我不得不删除我的sdk文件夹中的23.0.0,删除SDK管理器中的版本23 sdk,然后进行清理和重建 (5认同)
  • 詹姆斯,谢谢你的解决方案.但是,我对这种PITA情况感到非常震惊 - 因为我从来没有安装appcompat-v7:22.2.1! (4认同)

urn*_*ish 21

在你的项目build.gradle文件...写如下..我通过将appcompat版本从v7.23.0.0更改为v7.22.2.1解决了该错误..

dependencies
Run Code Online (Sandbox Code Playgroud)

{

compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
Run Code Online (Sandbox Code Playgroud)

}

屏幕截图下方是为了更好地理解.


小智 10

注意,错误的答案来了!但是没有apache库的人可能会发现

compileSdkVersion 23
buildToolsVersion "23.0.0"



//...


dependencies {
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:design:23.0.0'    

}
Run Code Online (Sandbox Code Playgroud)

很有帮助,它为我做了诀窍.