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

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

プロジェクトで最新の 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'.

これを修正するにはどうすればいいでしょうか?

ベストアンサー1

の答えはロエシュグまったくその通りです。私はただ、それを詳しく説明し、たとえエラーが多少異なっていても、すべての IDE (Eclipse、IntellJ、Android Studio) に対する解決策を提供したいだけです。


前提条件

SDK マネージャー経由extrasで最新バージョンをダウンロードしたことを確認してください。Android 5.0 SDK

SDK マネージャーの画像


アンドロイドスタジオ

アプリモジュールのbuild.gradleまたはファイルを開き、を21に変更します。基本的にSDKバージョンを21に変更する必要はありませんが、常に変更する必要があるため、変更することをお勧めします。build.gradle.ktscompileSdkVersiontargetSdkVersion最新のAndroidビルドバージョンをターゲットにする最終的に、
Gradle ファイルは次のようになります。

android {
    compileSdkVersion(21)
    // ...

    defaultConfig {
        // ...
        targetSdkVersion(21)
    }
}

後で必ずプロジェクトを同期してください。

Android Studio Gradle Sync のリマインダー


日食

Eclipseで使用する場合は、v7-appcompatライブラリプロジェクトとして使用する必要があります。 *.jarをフォルダにコピーするだけでは不十分です/libs。以下をお読みください。これ(クリック)プロジェクトを適切にインポートする方法を知るには、developer.android.comのステップバイステップのチュートリアルを参照してください。

プロジェクトがインポートされるとすぐに、/res次のようなエラーのために、フォルダー内の一部のフォルダーに赤い下線が引かれていることがわかります。

Eclipse のエラー

error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.
error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.*'
error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

解決

必要なのは、project.propertiesのファイルを開いてandroid-support-v7-appcompat、ターゲットを から に変更するtarget=android-19ことだけですtarget=android-21
その後は、 を実行するProject --> Clean...だけで変更が有効になります。


IntelliJ IDEA (Gradle は使用しません)

Eclipseと同様に、 だけを使用するだけでは不十分でandroid-support-v7-appcompat.jar、 をモジュールとしてインポートする必要がありますappcompat。詳細については、こちらをご覧ください。StackO-Post(クリック)注:のみを使用している場合は、
ランタイム取得します .jarNoClassDefFoundErrors

プロジェクトをビルドしようとすると、フォルダーで問題が発生しますres/values-v**。メッセージ ウィンドウには次のようなメッセージが表示されます。

Error:android-apt-compiler: [appcompat]  resource found that matches the given name: attr 'android:colorPrimary'.
Error:(75, -1) android-apt-compiler: [appcompat] C:\[Your Path]\sdk\extras\android\support\v7\appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
// and so on

解決

モジュールを右クリックappcompat--> モジュール設定を開く (F4) --> [依存関係タブ]ドロップダウンから Android API 21 プラットフォームを選択 --> 適用

API 21プラットフォームを選択

次に、プロジェクトを再構築 (ビルド --> プロジェクトの再構築) すれば準備完了です。

おすすめ記事