appcompat-v7:21.0.0 ':指定された名前と一致するリソースが見つかりませんでした:attr' android:actionModeShareDrawable '



Answers

これは、build.gradleファイルでcompileSdkVersionを21に設定していない可能性があります。 targetSdkVersionを21に変更することもできます。

android {
    //...
    compileSdkVersion 21

    defaultConfig {
        targetSdkVersion 21
    }
    //...
}

これには、まずは最新のSDKアップデートをダウンロードしておく必要があります。

すべてのアップデートをダウンロードしたら(Androidサポートライブラリ/リポジトリのアップデートも忘れずに!)、compileSdkVersionを更新して、Gradleプロジェクトを再同期してください。

編集:Eclipseまたは一般的なIntelliJユーザーの場合

reVerseの答えを参照してください。 彼は非常に徹底した散歩をしています!

Question

私のプロジェクトで最新のappcompat-v7サポートライブラリを使用しようとすると、次のエラーが表示されます。

/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

これをどうやって解決するのですか?




別のプロジェクトを自分のワークスペースに追加し、そのマニフェストファイル内のアクティビティを参照しようとしましたが、このエラーが発生しました。 問題は、私がライブラリを間違って参照していたことです。 これが問題を解決した方法です:

  • プロジェクトを右クリック
  • プロパティを選択
  • 左メニューのAndroidをクリック
  • [追加]をクリックします
  • 図書館プロジェクトを選択してください

jarファイルはAndroid Dependenciesフォルダに保存され、このエラーは修正されました。




Eclipseでワークスペースに2番目のプロジェクトを作成した後、私はこの問題を抱えていました。 私はこれが、別のSDKバージョンで作成したもので、これはandroid-support-v7-appcompatライブラリを過度に使用したためだと思います。

私はすべてをきれいにしようとしたが役に立たなかった。 最終的には、project.propertiesを編集してtarget = android-21を変更し、私のプロジェクトをAndroid 5.0に設定するという上記の提案が修正されました。




Android Studioでは、 compileSdkVersiontargetSdkVersion19に設定しようとしていcompileSdkVersion

私の解決策は、 build.gradleの一番下の部分を次のように置き換えることでした:

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

appcompatライブラリの古いバージョン:

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



私の問題は、私のプロジェクトが参照している他のライブラリがあり、それらのライブラリに別のバージョンのappcompatが参照されていたことでした。 これが私が問題を解決するためにしたものです:

(これを行う前にプロジェクトをバックアップする必要があります)

1)すべてのappcompatレイアウトフォルダ(ex:/ res / layout-v11)を削除しました。

2)それに起因する問題を解決しました。通常はmenu.xmlにエラーがあります

3)メインプロジェクトに戻って、appcompatライブラリを追加して、きれいにしてください。




API 21をターゲットAPIとして使用したくないため、マテリアルテーマを使用したくない場合は、API 19に属する古いリビジョンを使用する必要があります>

compile "com.android.support:appcompat-v7:19.0.+"

これはまたあなたの問題を解決するのに役立ちます。それはあなたが達成したいことだけに依存します。




コンパイルSDKのバージョンをAPI:21からAPI:16に変更したときも同じエラーが発生しました。 問題は、 appcompatバージョンでした。 古いバージョンのAndroid APIを使用する必要がある場合は、このアプリケーション互換バージョンも変更する必要があります。 私の場合( API:16の場合)、 appcompat-v7:19. +を使用しなければなりませんでした

だから私はbuild.gradleの依存関係を次のように置き換えます。

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

そして、あなたのSDKに古いバージョンのappcompatバージョンがあることを確認してください




Links