2

私自身のプロジェクトはAndroid2.1API7を使用しています。

アクションバーを実装するには、ActionBarSherlockライブラリを使用します。シャーロックライブラリを既存のプロジェクトとしてEclipseにインポートしました。sherlockの場合、ターゲットプラットフォームはAndroid v3.2API13です。

次に、自分のプロジェクトにライブラリプロジェクトとしてsherlockを追加しました。R.java次に、自分のプロジェクトのフォルダーの下にファイルがないことに気付きgen/、Eclipseコンソールで次のようなエラーが発生しました。

JakeWharton-ActionBarSherlock-436230d/library/res/values-v11/abs__styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo'.

JakeWharton-ActionBarSherlock-436230d/library/res/values-v11/abs__styles.xml:48: error: Error: No resource found that matches the given name: attr 'android:actionBarSize'.

JakeWharton-ActionBarSherlock-436230d/library/res/values-v11/abs__styles.xml:49: error: Error: No resource found that matches the given name: attr 'android:actionBarStyle'.

...

おそらくsherlockがより高いバージョンのAPIを使用する必要があるためだと思ったので、sherlockプロジェクトでターゲットプラットフォームを4.03API15に設定しようとしました。しかし、それは役に立ちません。

シャーロックを使用している人は誰でも同じエラーを経験していますか?どうすればこの問題を解決できますか?

PS私自身のプロジェクトマニフェストファイル:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="my.frag.test"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MyActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>
4

2 に答える 2

6

適切にサポートするには、アプリとライブラリの両方をAndroid3.2でコンパイルする必要があります。

マニフェストでを「4」まで低く設定できますminSdkVersionが、Android1.6を介してサポートすることもできます。またtargetSdkVersion、「11」以上に設定する必要があります。

samples/これがどのように行われるかについては、プロジェクトのフォルダー内のサンプルを参照してください。

于 2012-02-07T16:15:51.840 に答える
1

独自のプロジェクトでビルドターゲットをAPI13に設定する必要があります。

アプリが動作する最小APIレベルは、ビルドターゲットではなく、マニフェストのandroid:minSdkVersionによって定義されます。

ビルドターゲットをAPI13に設定しても、2.1デバイスでActionBarを使用できるようにはなりません。そのため、ActionBarSherlockを使用します。

于 2012-02-07T16:16:11.077 に答える