web-dev-qa-db-ja.com

v7互換性サポートテーマを使用する場合、IDE "@ style / Theme.Appcompatを解決できません"

私のプロジェクトはまだ正しく構築されて実行されているため(Gradleを使用)、これは本当に大きな問題ではありませんが、API 18 SDKでリリースされたアプリケーション互換性テーマを認識するためにAndroid Studioを取得するのに問題がありますAndroid 2.1以降のサポート)。

Javaファイル内のActionBarクラスのコード補完が可能なため、サポートライブラリが正常にロードされています。問題は、AndroidスタジオがAndroidManifest.xmlのTheme.AppCompat.Lightへの割り当てに対して赤いテキストエラーを表示することです。

Android Studioの外部ライブラリからマニフェストで宣言されたテーマリソースのコード補完を有効にする方法はありますか?

更新済み AndroidManifestからの<activity>ブロックは次のとおりです。

<activity
    Android:name="com.example.activities.MainActivity"
    Android:label="@string/app_name"
    Android:screenOrientation="portrait"
    Android:theme="@style/Theme.AppCompat.Light" >

また、アプリケーションブロックでテーマを設定しようとしました。

<application
    Android:allowBackup="true"
    Android:icon="@drawable/main_final_ic"
    Android:label="@string/app_name"
    Android:logo="@drawable/main_final_enzo"
    Android:theme="@style/Theme.AppCompat.Light" >

繰り返しますが、これらは両方とも正常に機能し、コンパイルは正常に行われますが、IDEではエラーのある赤いテキストとして表示されます。また、Eclipseでプロジェクトを実行するときに同じ問題が発生していることを確認しました。

41
John Leehey
4
Yuichi Araki

これと同じ問題がありました。 V7 jarファイルは正常にコンパイルされているようですが、おそらく必要なxmlリソースが不足しているようです。V7パッケージで提供される「Theme.xml」を手動で含める必要があります。これが私がそれを修正するためにしたことです。

下を見てください:リソースでライブラリを追加するhttp://developer.Android.com/tools/support-library/setup.html =

ここで提供される指示は、リソースを持ち込むように指示しないため、あまり明確ではありません。(Android Studio?)のバグかもしれません)

ここに私がやったことがあります:

  1. マネージャーでSDKを更新し、「Androidサポートリポジトリ」を必ず追加してください
  2. ファイルエクスプローラー(Macの場合はFinder)でSDKにアクセスして、エクストラのフォルダー(..\sdk\extras\Android\support\v7\appcompat\res\values Windowsの場合)。どこかに「themes.xml」と「themes_base.xml」があります。これら両方のファイルをコピーします。
  3. プロジェクトで、ファイルを「values」ディレクトリに貼り付けます
  4. 再構築を行うと、それは私のためのトリックをしました。
16
kev

変更後:

クラスパス 'com.Android.tools.build:gradle:+'

に:

クラスパス 'com.Android.tools.build:gradle:2.2.3'

そして今、それは働いています!

7
SUXA

Filip Cvejicの答えは役に立ちます。 My Android studioバージョンは1.3.1で、同じ問題があります。「compile 'com.Android.support:appcompat-v7:23.0.0'」という行を次のように追加すると動作します。

   dependencies {
        compile "com.Android.support:support-v4:23.0.0"
        compile "com.Android.support:support-v13:23.0.0"
        compile "com.Android.support:cardview-v7:23.0.0"
        compile 'com.Android.support:appcompat-v7:23.0.0'
    }
4
XYL

ライブラリをJava Build Pathに追加しないでください。設定]> [Android]> [ライブラリ]> [ライブラリを追加]でライブラリを(プロジェクトとして)追加してください。

3
Bram De Backer

私は遅く返事をしたことは知っていますが、この答えは先物訪問者に役立つかもしれません。

  • Gradleからの変更0.12.+から0.12.1そしてそれは動作します。

    classpath 'com.Android.tools.build:gradle:0.12.1'
    
3
Luis Pena

Android studio。

ヘルプをクリック--->アップデートを確認

次に、プロンプトの内容を実際に読んで、最新のEdge更新または安定した更新のどちらを使用するかを決定します。

一度Androidスタジオが再起動すると動作するはずです。

サイドノート:私がプロジェクトを再構築するまで、すべてが私にとって赤い下線付きでした。

3
rocktheartsm4l

ダウングレードbuild:gradle version 2.3. to 2.2.何時間も苦労して働いた!

classpath 'com.Android.tools.build:gradle:2.2.3'

gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.Zip
2
AskQ

問題は、appcompatライブラリプロジェクトが別の場所にあることです。インポート時に、「プロジェクトをワークスペースにコピー」をチェックする必要があります!

2

問題は、appcompactライブラリプロジェクトが別の場所にあることです。インポート時に、「プロジェクトをワークスペースにコピー」をチェックする必要があります!

[閉じる]をクリックして[ファイル]をクリックし、既存のプロジェクトをクリックして、Androidプロジェクトを選択します。..テーマの問題は解決されます。

1
Shahid Ahmad

compile 'com.Android.support:appcompat-v7:21.0.0'をgradle.build(モジュール:アプリ)の依存関係に追加し、プロジェクトを再構築すると、Android studio 1.0.2。

また、SDK Managerで確認し、サポートライブラリをダウンロードしました。

1
Filip Cvejic

一般的な問題。私の場合、これは機能します:

「Android-support-v7-appcompat」プロジェクト:

-Delete “Android-support-v7-appcompat” from Package Explorer.
-Import again and check “Copy into workspace”
-In Properties -> Android -> in Project build target, uncheck Android 2.2 and check Android 4.1.2
-In Java build path, uncheck if you have any .jar library, and uncheck the Dependences

一方、「Android-support-v7-appcompat」を使用するプロジェクト

in Propiedades -> Android add the library, but uncheck "IsLibrary”.
-In Android -> Project build tarjet check Android 4.0.
-In "Java Build Path" -> Order and Export -> Unchecked the .jar library
-Finally do a “Project -> Clean” both projects 
1

私の修正/問題は、ここにいるほとんどの人よりもはるかに簡単で異なっていました。

私の問題は、次のようなエラーが発生したという点で似ていました。

resource style/ThemeOverlay.AppCompat.Dark (...) not found

奇妙な部分は、デバッグモードでビルドできましたが、リリースモードではビルドできなかったことです。

私のAndroidマニフェストにはエラーが含まれていませんでした。私の問題は、リソースフォルダーに2つのstyle.xmlファイルがあったことです。

簡単な解決策:style.xmlファイルの1つを削除するか、マージしてください。 2つの.xmlファイルでほぼ同じ2つのスタイルがありました。これらのファイルのいずれかを削除すると、すぐにリリースモードでビルドできます。

[%] D-グラスを噛んでビールを飲む時間。 :D

0
airvine