リソースが見つかりません-Theme.AppCompat.Light.DarkActionBar


145

私はActionBarスタイルジェネレーターを使用し、今私のアプリに使用しようとしていますが、次のようになっています。

エラー:アイテムの親の取得中にエラーが発生しました:指定された名前 '@ style / Theme.AppCompat.Light.DarkActionBar'に一致するリソースが見つかりませんでした。

私が使っているAndroidのサポートを-V7-appcompat.jarのlibsフォルダ内のlib

私の目標は、アプリを2.3以上に対応させることです


jarをlibsフォルダーに追加しましたか?
ラグフナンダン

はいアンドロイド-サポート-V7-appcompat.jar

回答:


96

AppCompatライブラリプロジェクトです。Androidプロジェクトでライブラリプロジェクトを参照する必要があります。

リソースを含むライブラリーの追加」のトピック確認してください。


1
android-support-v7-appcompat.jarをlibsフォルダーに配置済み
Sun

4
@AbrahimNeil正しい方法ではありません。そのライブラリプロジェクトなので、Google Play Servicesと同じように参照する必要があります
ラグナンダン

android-support-v7-appcompat.jarをインポートすると、ターゲットandroid-16を解決できません。


1
追加 implementation 'com.android.support:appcompat-v7:28.0.0'、依存関係の下で私の問題は解決しました。
Hilal

35

Eclipseを使用している場合はreference library、次の手順でをプロジェクトに追加します。

  1. Project Explorerビューでプロジェクトを右クリックします。
  2. をクリックしPropertiesます。
  3. ウィンドウをクリックAndroidPropertiesます。
  4. ではLibraryグループ、クリックしてくださいAdd...
    • 下の画像を参照してください。
  5. ライブラリを選択します。をクリックし OKます。
  6. [ OKプロパティ]ウィンドウでもう一度ボタンをクリックします。

プロジェクトの[プロパティ]ウィンドウの[追加]ボタン、Androidセクション、ライブラリグループ。


4
opがandroid studioではなくeclipseを使用していることをどのようにして知っていますか?投稿されたスナップは日食用です。
ラグナンダン

@Raghunandan申し訳ありませんそれを言及するのを忘れ
MD

1
Eclipseで完全に動作します。ありがとう!
Scott Biggs

33

Android Studioを使用している場合は、依存関係を追加するだけです

dependencies {
     implementation 'com.android.support:appcompat-v7:25.0.1'
}

app/build.gradle。そしてそれはうまくいく


2
ええと...それは動作しません ...それでも私のstyles.xmlファイルのandroid:Theme.AppCompat。*を解決しません。
Michael

実装「com.android.support:appcompat-v7:28.0.0」を実装「com.android.support:appcompat-v7:25.0.1」に置き換えたところ、動作するようになりましたが、なぜですか?
CGR

1
@CGR Androidでは28以上のテーマが変更され、Light.DarkActionBarは使用できなくなったと思います。
DoomGoober

13

VS2015を使用している人にとっては、このエラーも発生していました。プロジェクトにライブラリを追加していないことがわかりました...

Install-Package Xamarin.Android.Support.v7.AppCompat

1
これは、VS2019で新しいプロジェクトを開始してビルドした後に取得しました。何もインストールせずに単に「再構築ソリューション」を実行するだけでエラーが解決しました。
Glen Little


7

簡単な解決策-このファイル(/res/values/styles.xml)の内容を次のテキストに置き換えます。

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>


1
「アイテムの親の取得中にエラーが発生しました:指定された名前「AppBaseTheme」に一致するリソースが見つかりませんでした。」
Yousha Aleayoub

1
これはAppCompatではありません。
IgorGanapolsky 2016

4
dependencies {

    compile 'com.android.support:appcompat-v7:23.0.0'

}

これは私のために働いた... Android Studioで...


4

私の場合、androidあるコンピューターから別のコンピューターにプロジェクトを取り、この問題がありました。私にとってうまくいったのは、私が見たいくつかの答えの組み合わせでした。

  • ワークスペースのlibsフォルダーにあったappcompatライブラリのコピーを削除します
  • SDK 21をインストールする
  • そのSDKビルドを使用するようにプロジェクトプロパティを変更する ここに画像の説明を入力してください
  • SDK 21と互換性のあるエミュレーターをセットアップして起動する
  • 実行構成を更新して、デバイスを実行するように求め、実行を選択します

鉱山はこれらのステップの後でうまく走りました。


3

Visual Studio 2015(Windows7)+ Xamarinを使用するとこのエラーが発生し、複数の操作(パッケージのインストール、android_m2repository_r10.zip ...のダウンロード)を試行した後、内部の完全なXamarinフォルダーの削除が終了しました

C:\Users\<my user>\AppData\Local

その後、VSでアプリケーションを再構築すると、エラーが消えました。


これは私のために働きました:)注:Visual Studio Enterpriseを使用します。2017 15.8プレビュー3.0
デビッドジョーンズ

VS 2017使用して、同様に私のために働いた
リチャード・ライルを

3

SDKにv7ディレクトリがあることを確認してください。「エクストラ」にある「Androidサポートライブラリ」があれば十分だと思いました。「サポートライブラリのローカルMavenリポジトリ(extras; android; m2repository)」が見つからなかったことが判明しました。Studioは実際にGradleの依存関係を修正しました。ビルドするためにgradleを使用して機能しました。$ cat app / build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "pat.example.com.gdbdemo"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

3
dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

コンパイルは実装に置き換えられました。理由はわかりません。


これが私の解決策です。
Shizhen

2

Android.mkを使用してビルドする場合は、AARからビルドされたリソースにリンクするUSE_AAPT2を使用します。

Android.mkファイルに以下の行を追加します。

LOCAL_USE_AAPT2:= true


1
  1. マネージャーでSDKを更新しAndroid support library、extraに必ず含めてください
  2. ファイルエクスプローラー(MacのFinder)でSDKに移動し、エクストラのフォルダー(..\sdk\extras\android\support\v7\appcompat\res\valuesWindows の場合)を追跡します。どこかであるにthemes.xmlして themes_base.xmlます。これらのファイルを両方ともコピーします。
  3. プロジェクトで、ファイルを「values」ディレクトリに貼り付けます

themes_base.xmlをres / valuesにコピーすると、元の問題は解決しましたが、他の未解決の参照が発生しました。
FractalBob 2016年

1

Visual Studio for MACを使用している場合は、[プロジェクト]> [Nutgetパッケージの復元]をクリックして問題を修正します


0

Eclipseで:で、指示に従ってプロジェクトライブラリとしてサポートライブラリをインポートする場合のサポートライブラリの追加「ワークスペースにコピーproyects」オプションをチェックすることを忘れないでください


0

私も同じ問題を抱えていました。ここにリストされている解決策はどれも私の状況を助けませんでした。結局のところ、プロジェクトのフォルダーではなく、プロジェクトの親フォルダーをAndroid Studio 1.5にインポートしていました。これはGradelを混乱させました。解決策は、代わりにプロジェクトフォルダをインポートすることでした。


-1

xamarinでは、新しいSDKを追加するときにこの問題に直面した場合。簡単な解決策は、スタイルファイルを開いてこの行を追加することです。

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

appcompatを追加するよりも、より良いソリューションです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.