2

リリースしたばかりの比較的新しいアプリがありますが、ICS (Ice Cream Sandwich) ユーザーはすべて「お使いのデバイスはこのバージョンと互換性がありません」というメッセージが表示されるようです。Google Play からのエラー メッセージ。同じユーザーが apk ファイルを直接ダウンロードすると、アプリをインストールできます。

Google Play からアプリをインストールする ICS ユーザーをサポートするために明示的に何かを行う必要がありますか?

私のマニフェスト ファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.dmbstream.android"
    android:installLocation="auto" 
    android:versionCode="7" 
    android:versionName="1.0.7">
    <uses-sdk android:targetSdkVersion="10" android:minSdkVersion="4" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

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

    <application android:label="@string/app_name"
        android:theme="@style/MyTheme" android:icon="@drawable/icon"
        android:name=".DmbstreamApplication">
        <activity android:name=".activity.MainMenuActivity" android:configChanges="keyboardHidden|orientation">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name=".activity.LoginActivity" />
        <activity android:name=".activity.LoginWithTokenActivity" />
        <activity android:name=".activity.ChatActivity" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateAlwaysHidden" />
        <activity android:name=".activity.ConcertActivity" android:configChanges="keyboardHidden|orientation" />
        <activity android:name=".activity.LatestAddedConcertsActivity" android:configChanges="keyboardHidden|orientation" />
        <activity android:name=".activity.LatestPerformedConcertsActivity" android:configChanges="keyboardHidden|orientation" />
        <activity android:name=".activity.SearchActivity" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateVisible" />
        <activity android:name=".activity.YourFavoritesActivity" android:configChanges="keyboardHidden|orientation" />
        <activity android:name=".activity.YourPlaylistsActivity" android:configChanges="keyboardHidden|orientation" />
        <activity android:name=".activity.PlaylistActivity" android:configChanges="keyboardHidden|orientation" />
        <activity android:name=".activity.SettingsActivity" android:configChanges="keyboardHidden|orientation" />

        <activity android:name=".activity.SearchResultsActivity"
            android:windowSoftInputMode="adjustPan|stateHidden">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <meta-data android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>

        <service android:name=".service.DownloadServiceImpl" android:label="DMBStream Service"/>

        <receiver android:name=".receiver.MediaButtonIntentReceiver">
                <intent-filter android:priority="999">
                        <action android:name="android.intent.action.MEDIA_BUTTON" />
                </intent-filter>
        </receiver>

        <receiver android:name=".receiver.BluetoothIntentReceiver">
                <intent-filter>
                        <action android:name="android.bluetooth.a2dp.action.SINK_STATE_CHANGED"/>
                </intent-filter>
        </receiver>

        <receiver android:name=".provider.DmbstreamAppWidgetProvider" >
                <intent-filter>
                        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
                </intent-filter>
                <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info"/>
        </receiver>

        <provider android:name=".provider.SearchSuggestionProvider"
                                    android:authorities=".provider.SearchSuggestionProvider"/>

        <!-- declare the default searchable Activity for the whole app -->
        <meta-data android:name="android.app.default_searchable"
            android:value=".activity.SearchActivity" />

<!--        <receiver
                android:name="com.google.android.apps.analytics.AnalyticsReceiver"
                android:exported="true" >
                <intent-filter>
                        <action android:name="com.android.vending.INSTALL_REFERRER" />
                </intent-filter>
        </receiver> -->
    </application>
</manifest>
4

3 に答える 3

1

Android HIG(Android Human Interface Guidelines)に従ってください

Android 完全なサンプルは、すべての API レベル (タブレットと電話) をサポートします

于 2012-04-11T22:21:15.737 に答える
1

<supports-screens />要素を削除すると、問題が解決したようです。

于 2012-04-13T17:03:24.380 に答える
0
<uses-sdk android:targetSdkVersion="10" android:minSdkVersion="4" />

少なくともAPIレベル14である必要があります。

<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="4" />

APIレベルリストGooglePlayフィルターは、このトピックに関する詳細情報を提供します。

編集(コメントに基づく)

あなたが使用することができます:

<uses-sdk android:targetSdkVersion="10" 
          android:maxSdkVersion="15" 
          android:minSdkVersion="4" />

そしてそれで逃げますが、私が知る限り、それはお勧めできません

警告:この属性を宣言することはお勧めしません。まず、リリース時に新しいバージョンのAndroidプラットフォームへのアプリケーションのデプロイをブロックする手段として属性を設定する必要はありません。設計上、プラットフォームの新しいバージョンは完全な下位互換性があります。アプリケーションは、標準APIのみを使用し、開発のベストプラクティスに従っている限り、新しいバージョンで正しく動作するはずです。次に、場合によっては、属性を宣言すると、システムがより高いAPIレベルに更新された後、アプリケーションがユーザーのデバイスから削除される可能性があることに注意してください。アプリケーションがインストールされる可能性が高いほとんどのデバイスは、無線で定期的にシステムアップデートを受信するため、この属性を設定する前に、アプリケーションへの影響を考慮する必要があります。

を使用してみる場合は、エミュレータAPIレベル14以上でテストして、ICSユーザーに公開する前にすべてが機能することを確認してください。実際には、ターゲットを設定する必要があり、機能していないことがわかりますmaxSdkVersion。API14以降を使用して構築...

于 2012-04-11T21:24:52.800 に答える