15

電話用のアプリを作成していますが、タブレットで使用したくありません。できない理由がわからない。これを Android マニフェスト ファイルで使用します。

android:xlargeScreens="true"

次のエラーが表示されます。

エラー: パッケージ 'android' の属性 'xlargeScreens' のリソース識別子が見つかりません

これは私のマニフェスト ファイルです。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cro.perger.bonbon"
      android:versionCode="5"
      android:versionName="1.4">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" />

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

            <!-- Broadcast Receiver that will process AppWidget updates -->
        <receiver android:name=".HelloWidget" android:label="@string/w_name">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/hello_widget_provider" />
        </receiver>

        <receiver android:name=".SMSReceiver">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>    

        </application>
        <supports-screens android:resizeable="true"
                      android:smallScreens="true"
                      android:normalScreens="true"
                      android:largeScreens="true"
                      android:xlargeScreens="true"
                      android:anyDensity="true"/>
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.READ_SMS"/>
</manifest>

私は何をすべきか?

4

7 に答える 7

13

プロジェクトのビルド ターゲットを確認してください特大画面をサポートするには、プロジェクトのビルド ターゲットが少なくとも android 2.3.3 adk である必要があります。

Eclipse の場合 - プロジェクトを右クリック -> [プロパティ] -> [Android] -> [Project Build Tagrget] を 2.3.3 以降として選択します。

于 2011-08-08T15:32:24.947 に答える
6

私のアプリケーションは、Android バージョン 1.5 から最新バージョンまでをサポートしています。これがマニフェストにあるものです。

<supports-screens
      android:largeScreens="true"
      android:normalScreens="true"
      android:smallScreens="true"
      android:anyDensity="true" />

これは、私のアプリの Android マーケット開発者サイトに表示されるものです。

Screen layouts: SMALL NORMAL LARGE XLARGE
Required device features
        android.hardware.touchscreen
This application is available to over 555 devices.

また、プロジェクトのビルド ターゲットは 2.3.3 ですが、Android 3.0 を実行しているデバイスにはまだ多くのインストールがあります。

これは単なる推測です。よくわかりませんが、CALL_PHONE などのアクセス許可を含めて、タブレットでの検索からアプリケーションをフィルタリングしないでください。その機能がないためです。

于 2011-08-08T18:20:12.193 に答える
4

古いバージョンと新しいバージョンで異なる APK をビルドする必要があるようです。http://android-developers.blogspot.com/search/label/Android%20Marketに投稿された複数 APK のサポートに関するブログをチェックしてください。それを使用して、同じ製品リストの下に携帯電話とタブレット用の個別の APK を作成します。」

于 2011-08-08T18:13:46.270 に答える
3

android:xlargeScreensで認識されるには、少なくとも android API レベル 9 を使用する必要がありますAndroidManifest.xml

このためには、default.propertiesファイルにtarget=android-9以上があることを確認してください。これは、Android セクションの Project Properties を使用して設定することもできます。

于 2011-08-08T15:33:08.027 に答える
2

問題はあなたminSdkVersionです。

-attribute は API レベル 9 で導入されました。xlargeScreensアプリケーションがおそらく API レベル 4 で実行されると指定したため、Android はこの属性を見つけることができません。

minSdkVersion-attribute を に変更すると、機能11するはずです。

targetSdkVersionに設定した - 属性は、11アプリがこのバージョンを対象として開発されたことを示すだけです (したがって、「推奨」) が、minSdkVersion最小 API レベルを指定します。こちらを参照してください。

于 2011-08-08T15:33:57.693 に答える
1

android:xlargeScreens:
この属性はAPIレベル9(Android 2.3.3)で導入されました。ビルドターゲットがAPIレベル9未満の場合、エラーが発生"No resource identifier found for attribute 'xlargeScreens' in package 'android"
します。ビルドターゲットをAPIレベル9以上に設定すると、このエラーは消えます。

于 2012-04-23T08:10:54.490 に答える
1

API レベルは何に設定されていますか? ドキュメントには、API 9 以降が必要であると記載されています。9 は 2.3 です。のリンクを参照してください。

android:xlargeScreens アプリケーションが特大画面のフォーム ファクタをサポートしているかどうかを示します。特大画面は、タブレット (またはそれよりも大きなもの) などの「大きな」画面よりもかなり大きい画面として定義され、サイズ変更に依存する場合がありますが、それをうまく利用するにはアプリケーション側で特別な注意が必要になる場合があります。システムによって画面いっぱいに。このデフォルト値は実際にはバージョンによって異なるため、常にこの属性を明示的に宣言することをお勧めします。通常、「false」に設定すると、画面互換モードが有効になることに注意してください。この属性は、API レベル 9 で導入されました。

于 2011-08-08T15:33:45.610 に答える