1. ホーム
  2. android

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

2022-03-24 11:57:57

質問

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

どうすれば直るの?

どのように解決するのですか?

の答えは ローシュグ は全く正しいのですが、私はそれをさらに詳しく説明し、次のように述べたいと思います。 すべてのIDEに対応するソリューション (Eclipse, IntellJ and Android Studio) たとえエラーが多少違っても。


前提条件

最新の extras と同様に Android 5.0 SDK をSDK-Manager経由で実行します。


Android Studio

を開きます。 build.gradle を変更し、さらに compileSdkVersion を 21 に変更します。を変更する必要は基本的にありません。 targetSdkVersion SDK-Versionを21にすることをお勧めします。 最新のアンドロイドビルドバージョンをターゲットにする .
最終的にgradleファイルは以下のようになります。

android {
    compileSdkVersion 21
    // ...

    defaultConfig {
        // ...
        targetSdkVersion 21
    }
}

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


エクリプス

を使用する場合 v7-appcompat をEclipseで使用するには、ライブラリプロジェクトとして使用する必要があります。ただ単に*.jarを自分の /libs フォルダーに保存してください。をお読みください。 この(クリック) のステップバイステップのチュートリアルです。 デベロッパー.アンドロイド.com をクリックすると、プロジェクトを正しくインポートする方法を知ることができます。

プロジェクトをインポートすると、すぐに /res フォルダが赤下線になっているのは、以下のようなエラーが発生したためです。

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 をモジュールとして作成します。詳しくはこちらをご覧ください。 スタックオポスト(クリック) .
( のみを使用する場合は .jar を取得します。 NoClassDefFoundErrors オンランタイム )

プロジェクトをビルドしようとするとき、以下のような問題に直面するでしょう。 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 Platformを選択 --> Apply

あとは、プロジェクトを再構築(Build --> Rebuild Project)すれば、OKです。