プロジェクトで最新の 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
アンドロイドスタジオ
アプリモジュールのbuild.gradle
またはファイルを開き、を21に変更します。基本的にSDKバージョンを21に変更する必要はありませんが、常に変更する必要があるため、変更することをお勧めします。build.gradle.kts
compileSdkVersion
targetSdkVersion
最新のAndroidビルドバージョンをターゲットにする最終的に、
Gradle ファイルは次のようになります。
android {
compileSdkVersion(21)
// ...
defaultConfig {
// ...
targetSdkVersion(21)
}
}
後で必ずプロジェクトを同期してください。
日食
Eclipseで使用する場合は、v7-appcompat
ライブラリプロジェクトとして使用する必要があります。 *.jarをフォルダにコピーするだけでは不十分です/libs
。以下をお読みください。これ(クリック)プロジェクトを適切にインポートする方法を知るには、developer.android.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
。詳細については、こちらをご覧ください。StackO-Post(クリック)(注:のみを使用している場合は、
ランタイムで取得します) .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 プラットフォームを選択 --> 適用
次に、プロジェクトを再構築 (ビルド --> プロジェクトの再構築) すれば準備完了です。