loeschgの答えは完全に正しいですが、私はそれについて詳しく説明し、エラーがわずかに区別されていても、すべてのIDE(Eclipse、IntellJ、およびAndroid Studio)の解決策を提供したいと思います。
前提条件
SDK-Managerを介して最新のextras
ものをダウンロードしたことを確認してくださいAndroid 5.0 SDK
。
Android Studio
build.gradle
app-module のファイルを開いてcompileSdkVersion
21に変更しtargetSdkVersion
ます。SDK-Versionを21 に変更する必要はありませんが、常に最新のandroid Build-Versionをターゲットにする必要があるため、これをお勧めします。
最終的に、gradle-fileは次のようになります。
android {
compileSdkVersion 21
// ...
defaultConfig {
// ...
targetSdkVersion 21
}
}
後でプロジェクトを必ず同期してください。
日食
使用するときはv7-appcompat
Eclipseで、あなたは、ライブラリプロジェクトとしてそれを使用する必要があります。* .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...
、変更を有効にするためにa を実行します。
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プラットフォームを選択->適用
次に、プロジェクトを再ビルド(ビルド->プロジェクトの再ビルド)します。