数日前にGoogleからリリースされた新しい ActionBar supportライブラリを実装しようとしています。これまでは、Google Developer's Support Library Setup pageにリストされているのと同じ方法でActionBarSherlockを問題なく実装できました(これはActionBarSherlockが行った方法と似ています)。ライブラリプロジェクトをライブラリとして自分のプロジェクトにもロードしています。
ライブラリが正常にロードされていることがわかります。 MainActivity.JavaのActivityを拡張する代わりに、ActionBarActivityを拡張するように変更した場合(Googleの指示に従って)、エラーは発生せず、正しくインポートされます。
@style/Theme.AppCompat.Light
と<application>
の両方について、style.xmlファイルを迂回して<activity>
とAndroid:theme="@style/ThemeAppCompat.Light"
の両方のAndroidManifest.xmlに直接追加してみても、同じエラーが発生します。
今の問題は、私はそれがテーマを変更することができないことです。以下に表示されるエラーの後に、新しいテーマを使用するように変更したstyle.xmlファイルを示します。
私はAndroidアプリの作業にある程度の経験があり、最新バージョンのSupport LibrariesとSDKをAPI 18(Android 4.3)でコンパイルしてEclipseを実行しています。
ビルド中に受信したエラー
error:アイテムの親の取得中にエラーが発生しました:指定された名前 '@ style/Theme.AppCompat.Light'に一致するリソースが見つかりませんでした。 styles.xml/ActBarTest/res/values line 3 Android AAPTの問題
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
助言がありますか?これはActionBarSherlockの問題ではありませんでした。この新しいサポートライブラリを使用して作業したいです。 .jarはロードされているがリソースはロードされていないようです。
次にする必要があります:
File->Import (Android-sdk\extras\Android\support\v7)
。 「AppCompat」を選択してくださいProject-> properties->Android.
セクションライブラリで「追加」をクリックし、「AppCompat」を選択します。注:メニュー項目で「Android:showAsAction」を使用している場合は、例のように接頭辞Androidを変更する必要があります http://developer.Android.com/guide/topics/ui/actionbar.html
私のように、 http://developer.Android.com/training/basics/actionbar/setting-up.html にあるAndroidのチュートリアルに従っていて、AppBaseTheme
を変更してみてくださいすべてのstyles.xml
ファイルのスタイル。詳細に:
ファイルres/values/styles.xml
で次の行を変更します。
<style name="AppBaseTheme" parent="Android:Theme.Light">
に:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
ファイルres/values-v11/styles.xml
で次の行を変更します。
<style name="AppBaseTheme" parent="Android:Theme.Holo.Light">
に:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
ファイルres/values-v14/styles.xml
で次の行を変更します。
<style name="AppBaseTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
に:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
これでアプリケーションは正常に動作するはずです。
私はこの問題と私の経験を共有します。私はこのせいで頭がおかしくなりましたが、問題は私のコードではなくEclipse自体のバグであることがわかりました: Eclipseでは、他のAndroidプロジェクトでAndroidライブラリプロジェクトを参照できません
そのため、C:ドライブにAndroid Support Libraryがあり、コンピューターのD:ドライブにプロジェクトがある場合、Eclipseは正しく機能せず、Android Support Libraryがどこにあるのかわかりません(緑色のチェックマークが赤い十字に変わります)。 )これを解決するには、両方のプロジェクトを同じハードドライブに移動する必要があります。
これは、プロジェクト構造モジュールを変更した場合にAndroid Studioで発生する可能性がある問題です。この場合、依存関係をもう一度追加する必要があります。テキストエディタで 'build.gradle'ファイルを編集して必要な依存関係を含めます。
dependencies {
compile 'com.Android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
これにより、libコンポーネントで '{your_project_name} .iml'ファイルが更新されます。
<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />
私はEclipseでAndroid Support Library( _ apl _ )プロジェクトとMain Project( _ mp _ )を使って次のことを行いました。
_ apl _ と _ mp _ の両方のminSdkVersion
とtargetSdkVersion
が同じであることを確認してください。
_ mp _ のビルド依存関係として _ apl _ を追加しました。
_ mp _ の[Properties]> [Java Build Path]に移動し、次に
[プロジェクト]タブを選択して _ apl _ を追加します。
_ mp _ のプロパティの "Android"の下に、 _ apl _ の下にライブラリの参照を追加しました。
1と2はうまく動作するJavaクラスへの参照を得ました...しかし、 _ apl _ からmanifest.xml
を参照しようとしたとき、私はまだ@style/Theme.AppCompat.Light
for _ mp _ のエラーを見ました。これは私がステップ3を実行したときに消えました。
少し遅れていますが、ここで私はそれをAndroidStudioで実現する方法を説明します。
アプリを右クリックしてプロパティに移動します
Dependenciesに行き、 '+'をクリックしてライブラリの依存関係を選択してください。 appcompat-v7を選択してください
1.Android SDK Managerを実行し、最新のSDKとAndroid Support Libararyをインストールします。 SDKとAndroid Support Libararyのバージョンは同じになります。私の場合23他の変種はあなたにエラーを与えるでしょう。
2. IDEAプロジェクトのSDKバージョンを、前の手順でインストールした最後のバージョンに変更します。 (PS。あなたはMavenを使用してはいけません)。
3.既存のソースからあなたのIDEAプロジェクトに新しいモジュールを追加します。
4. AppCompatプロジェクトを追加します。 !!!最後のSDKの下にもあるはずです!(ps。このステップの途中で「はい」と言ってください)
5.メインのプロジェクトモジュールの設定を開き、それに次の3つの依存関係を追加します。
5.1。モジュールの依存関係。 Android-support-v7-appcompatを選択しました
5.2。 2パソコンライブラリの依存関係Android-sdk¥extras¥Android¥support¥v7¥appcompat¥libs¥Android-support-v4.jarおよびAndroid-support-v4¥Android-support-v7-appcompat.jar
6.非常に重要です!!!
テーマ接頭辞@styleを付けて(別ではありません!)を追加します。
1.Android SDK Managerを実行し、最新のSDKとAndroid Support Libararyをインストールします。 SDKとAndroid Support Libararyのバージョンは同じになります。私の場合23他の変種はあなたにエラーを与えるでしょう。
2.build.gradleの横に追加
dependencies {
compile 'com.Android.support:appcompat-v7:23.0.1'
}
P.SあなたがAndroidの開発に不慣れであれば、今すぐAndroid Studio&Gradleに移行することを強くお勧めします - あなたはあなたのAndroidアプリを管理する最も簡単な方法を得るでしょう。
Android Studio 1.2.2の場合
parent
属性値から "Android"を削除します。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
参照が必要です$ Android_SDK/extras/Android/support/v7/appcompat
IntelliJ IDEAまたはAndroid Studioの場合:
これをapp.gradleビルドファイルに追加してください。
dependencies {
compile "com.Android.support:appcompat-v7:21.0.+"
}
-v:xx.0+
をあなたのビルドターゲットに置き換えてください。もしあなたが19のプラットフォームを持っていれば、それは次のようになるはずです:
dependencies {
compile "com.Android.support:appcompat-v7:19.0.+"
}
私の問題は以下の手順で解決します
次のファイルをプロジェクトのlibsディレクトリに追加します<SDK-PATH>\extras\Android\support\v13Android-support-v13.jar
必要に応じてEclipseを再起動してください。それでおしまい。あなたの問題は解決するはずです。
私は同じ問題を抱えており、解決のために4〜5時間無駄にしました。私の問題は解決しました。
あなたがあなたの解決策を見つけることを願っています。
@rcdmkの手順に従ってください。あなたのプロジェクトのAndroidサポートv4.jarを削除します。それはappcompatにある新しい更新版と衝突します。
動作します:
<style name="MyApp" parent="Theme.AppCompat.Light">
</style>
<style name="MyApp" parent="@style/Theme.AppCompat.Light">
</style>
<style name="Theme.AppCompat.Light.MyApp">
</style>
Import dialougeはAndroid Studio 1.0.1とは異なるため、Svyatoslav Lobachsバージョンを動作させることができませんでした。
代わりに、私はSDKマネージャで「Android Support Repository」をダウンロードしました。それから追加
dependencies {
...
compile "com.Android.support:appcompat-v7:18.0.+"
}
build.gradle
へ。私のために働きました。
最速のソリューション:
プロジェクトを右クリック - > Androidツール - >サポートライブラリを追加..
プロジェクトを右クリックして [無関係なプロジェクトを閉じる] を選択した後、OPと同じ問題が発生しました。
私の場合は、 appcompat_v7 プロジェクトを再度開いて両方のプロジェクトをクリーン/再構築することで問題を解決しました。
http://developer.Android.com/tools/support-library/setup.html にバグがあります。 「プロパティー」 - >「Javaビルド・パス」 - >「プロジェクト」および「注文とエクスポート」には、jarはありません。それらを削除し、 'Android Private Libraries'と 'Android Dependencies'をチェックすることで私の問題は解決しました。
HelloWorldのようなプロジェクトの間に、2015年1月14日の時点でEclipse(Luna)/ AndroidSDK(Android Stduioではない)が最新のツールとライブラリーで使用されていた時に私は起こりました。これらのツールをインストールしてHelloWorldを最初のアプリにしたとき、私はすべてのデフォルトを受け入れました。 - これが私の場合の問題です。
まず、「Android Support Library」ライブラリがインストールされているかどうかを確認してください。そうでない場合は、それをインストールしてください。デフォルトではインストールされていません。あなたはメニューで利用可能な「Android SDKマネージャ」でそれをすべてするかもしれません。
(Android SDKマネージャ - >追加 - > Androidサポートライブラリ)
祝福、(債務者)<> <
受け入れられた解決策はかつて私のために働いていましたが、今はしません。私は新しいワークスペースで同じ種類のハローワールド(!)を再作成し、コンパイルしてから、.hg
と.hgignore
を含むすべてのディレクトリをコピーする必要がありました。 hg diff
は以下を表示します。
- Android:targetSdkVersion="19" />
+ Android:targetSdkVersion="21" />
Binary file libs/Android-support-v4.jar has changed
EclipseがAPI 21用にコンパイルしようとしていて、API 19では何もできないようです。
私は同じ問題を抱えていたし、答えに記載されているようにjar /ライブラリをインポート/追加した後でもエラーを解決できないでしょう。欲求不満から、私はちょうど新しいワークスペースを作成し、新鮮なAndroidプロジェクトを作成しました、そしてそれは自動的にappcompat_v7をインポートしました、そして、クリーンとビルドに関するエラーはありませんでした。手動で単一のjar /ライブラリをインポートする必要はありませんでした。ちなみに私はEclipse Mars.1 Release(4.5.1)を使用していて、新しいAndroidプロジェクトを作成するたびにまったく同じ問題に直面していました。
eclipseでは、プロジェクトを右クリックして - >ビルドパスを選択し、次にビルドパスの設定を選択します。ウィンドウから必要なjarファイルを選択し、プロジェクトを更新します。
私はあなたのうちの何人がこれに気付いたのかわからない。サポートライブラリ "appcompat_v7"とあなたのプロジェクトは同じディレクトリ(私はワークスペースディレクトリを意味します)にあるべきです。エラーがなくなるまでプロジェクトをきれいにしないでください。
すべて忘れます。 Android Studioを使用してダウンロードしたappcompatライブラリを使用するだけです。欠けている定義がすべてあります。あなたがEclipseで使っているかどうかに関係なく。
Android StudioまたはIntelliJの場合は、gradle.buildで依存関係を更新するだけで済みます。私は以下を使いました:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:21.0.2'
}
appCompat Libraryを追加し、SDKの場所からappCompatを正しく参照している場合は、 "キャッシュの無効化/再起動" を試してください。
Android Studioの "File" メニューから見つけることができます。
私の場合は、必要なライブラリが含まれていないSDKを使用したいので、問題が発生しました。私は分を増やしたとき。 SDKレベルで問題が解決しました。もちろん、ライブラリ自身を直接インクルードすることで、エラーも取り除かれるはずです。
私はこれを本当に愚かなミスをしました。私は毎回同じエラーを受けていたとき私は何が間違っていたのか理解することができませんでした。それから私は、私が私の仕事場の中のすべてのプロジェクトをいったん閉じた後、それがすべての問題が始まってからの時であることを私にクリックしました。 SOあなたの "appcompat_v7"が閉じられていないかどうかを確認してください。その場合は、ダブルクリックしてプロジェクトを開き、プロジェクトをクリーンアップしてもう一度ビルドします。私の場合、エラーはなくなりました。ハッピーコーディング!
この質問が投稿されたときにv13サポートライブラリが利用可能かどうかはわかりませんが、それでも問題が解決しない場合は、Android-support-v13.jar
を追加するとすべてが解決することがわかりました。これが私のやり方です。
<your sdk path>\extras\Android\support\v13\Android-support-v13.jar
を選択私はエラーメッセージがあります:
エラー:(18)アイテムの親の取得中にエラーが発生しました:指定された名前 'Theme.AppCompat.NoActionBar'に一致するリソースが見つかりません。
この設定では:
compileSdkVersion 23
buildToolsVersion "23.0.1"
テーマを以下から変更する必要があります。
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"/>
に:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
新しいプロジェクトを任意の名前で作成してから、appcompat_v7を使用して新しいプログラムを作成したほうがよいでしょう。
Right Click Project-> properties->Android
Section library Add
でlibrary appcompatを選択します。