更新後のAndroid Studioのリソースエラー:リソースが見つかりません


101

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'.

Gradleファイルのsdkビルドターゲットを23に更新しました。これにより、この特定の問題は解消されましたが、大量のapache.httpパッケージエラーが残りました(具体的には、httpのものに使用する大量のapacheパッケージがなくなりました) SDK 23)。

私がしたいのは、奇妙なリソースエラーを解決することですが、sdk 23に更新しません。apachehttpコンポーネントの新しい実装を使用するために、今すぐツールライブラリを書き直す時間はありません。誰かアイデアはありますか?


appcompat_v7 res / values-v23 / styles.xml自体(プロジェクトではなく)でエラーが発生しませんか?
Solace 2015

1
あなたの質問が理解できませんか?上記のエラーのファイルパスで示されるように、生成されたファイルで問題が発生していました。
James Dobson

生成されたファイルでエラーが発生している場合は、ビルドツールをGradleで更新して、ライブラリのバージョンと一致させる必要があります。ie buildToolsVersion "23.0.1"
BK Batchelor

回答:


78

build.gradleファイルのappcompatバージョンを22.2.1(または以前使用していたもの)に戻します。


5
ありがとう、これが解決策でした。具体的には、code.google.com / p / android / issues / detail?id = 183122#makechangesの指示に従いました。具体的には、scottが提供するソリューションです。私は、SDK Managerでバージョン23 SDKを削除して行うクリーン&再構築し、私のSDKフォルダに23.0.0を削除しなければならなかった
ジェームズ・ドブソン

4
ジェームス、解決してくれてありがとう。しかし、私はこのPITAの状況に驚いています-appcompat-v7:22.2.1をインストールしたことがなかったためです!!
誰かどこか

Eclipseでそれを行う方法はありますか?
Solace 2015

10
@Solace Eclipseは役に立たない
バックパッカー

6
@BackPackerいいえ。AndroidStudioが問題です。私は良いコンピューターを持っているので、Android Studioはシンプルなhello worldアプリをコンパイルするのに永遠にかかります。
TheRealChx101 2015

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'
}

1
これは機能しますが、必ず新しいSDKバージョンをインストールしてください。API 23(Android 6.0プラットフォーム)。これにより、新しいデバイスをサポートできるようになります。そのため、「appcompatバージョン」を新しいバージョンに変更すると、新しいSDKバージョンが必要になります。
JamesDeHart 2015

4
この答えは、はるかに良い22.2.1に戻ることよりもです
ジョーンBuitink

4
これは確かに理想的な答えであり、明らかにほとんどの人にとって正しい行動方針ですが、SDKバージョンを更新せずに問題を解決するという私の質問には答えません。これを行うと、依存しているライブラリを壊しますが、その時点で更新する時間はありませんでした。新機能を利用するために、我々は今、安全に23 SDKを更新することができ、ライブラリを更新しましたので、私たちはしました
ジェームズ・ドブソン

@RobertoB。ありがとう、それは良い情報です。新しいapacheライブラリを使用するようにコードベースを更新しましたが、うまくいけば他の人にも役立つでしょう!
James Dobson

これは、OPが報告するエラーメッセージとどのように関連していますか?compileSdkVersionは有効な回避策だと思いますが、レガシーのApacheライブラリを使用することは間接的な要件にすぎません。
mdelolmo、2015

21

プロジェクトのbuild.gradleファイルに次のように書き込みます。appcompatのバージョンをv7.23.0.0からv7.22.2.1に変更することで、このエラーを解決しました。

dependencies

{

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

}

以下のスクリーンショットは、理解を深めるためのものです。


1
いいえいいえいいえ....私はこれを期待していませんでした!しかし、これはうまくいきました!それを23.0.1に更新する意味は何ですか?
sud007 2015

これは私の+1を取得します。誰かがあなたに伝えた直後に、すべてを最新バージョンに更新するだけでは必ずしも適切ではありません。これは元の質問に答え、問題を解決します。
マークスミス

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'    

}

役に立った、それは私のためのトリックをしました。


なぜApacheライブラリにそれほど問題があるのですか?
NinjaCoder、2015年

4

アプリに固有のビルドグラドルファイルでコンパイル済みのsdkversionとtargetversionを23に変更する必要があります。この前にsdk 23、バージョン6.0がインストールされていることを確認してください。詳細については、このvidをご覧ください。https://www.youtube.com/watch?v=pw4jKsOU7go


2

最新のSDKとAndroid Studioをダウンロードしてもエラーが発生する場合、私は初心者です:私がしたこと1.最近のSDKをダウンロードしました(私はでした)2.ファイルプロジェクト構造を開きます(Ctrl + Alt + Shift + S)3。モジュールでアプリを選択します。4。プロパティタブで、コンパイルSDKバージョンをAPI 23に変更しますAndroid 6.0 marshmallow(latest)

コンパイルadkバージョンとbuildtoolsが同じバージョンであることを確認してください(23)

それが誰かを助けて、彼がこれらの数日間私がしたように苦しむことがないように願っています。


2

すべてのバージョンと一致するようにしてください:

compileSdkVersion 23
buildToolsVersion '23.0.0'
targetSdkVersion 23
compile 'com.android.support:appcompat-v7:23.0.0'

それは私にとって仕事です。


1

compileSDKはappCompatバージョンと一致する必要があります。TargetSDKは引き続き22にすることができます(たとえば、まだ新しいアクセス許可モデルに更新していない場合など)。


1

あなたが持っている場合 :

/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'.

エラー、あなたは変更する必要がありappcompatbuildtoolssdk23 あなたはそれを変更することが好きではないし、でなければなりません場合は、しかしを22 次の操作を行います。

  • コンパイル23
  • ターゲット22

0

これは、build.gradeが次のように変更されたときに機能します。

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "blablabla"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.0.0'
}

0

SDK 23がインストールされていないことに気づきました。だから私は最初にそれをインストールし、私のプロジェクトを再構築しました。そして、それはうまくいきました。また、compilesdkVersionは23である必要があります


0

まず第一に、

私の場合、SDKフォルダーを確認してみてください。mydocuments/ appdata / sdk ....などでした。そのため、基本的に私のsdkフォルダーは完全にはダウンロードされず、主にこの問題の原因でした。完全にダウンロードされた別のandroid sdk(ツールセクションと本当に必要なエクストラを含む)を使用するか、Eclipse android開発用に以前にダウンロードしたeclipse sdkを使用する必要があります。その後、もう一度プロジェクトをビルド->クリーンアップします。

試す価値があります。


0

アップグレードしてAPI 23(Android 6.0)を使用するか、Gradleでappcompat-v7を22.2.2バージョンに戻します。これは、Google Playサービスを追加するときに私に役立ちます


0

方法1:表示しています。Api23をインストールしていません。API23をインストールしてください。

方法2:

build.gradleファイルのappcompatバージョンを22.0.1(またはそれ以下)に戻します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.