14

Play にデプロイされたアプリがあり、2.1 以降を実行しているすべてのデバイスと互換性があります。AndroidManifest.xml で定義されている特別な制限や要件はありません。

ユーザーから、Google Play 経由でアプリをインストールしようとしたが、互換性がないというメッセージが表示されたという苦情がいくつかありました。これらすべてのケースで、アプリのサイドローディングは完全に機能します。

問題をもう少し深く掘り下げると、すべてのケースで、問題を報告している人々は、Google Play がインストールされていないデバイスを使用しているようです。すなわち。デバイスはおそらく Google の CTS に失敗しました。

そうは言っても、彼らはGoogle Play経由で他のアプリをインストールできますが、私たちのアプリはインストールできません. 繰り返しますが、これらのデバイスにアプリをサイドロードすると問題なく動作します。これがなぜなのか誰か知っていますか?AndroidManifest.xml で間違ってやっているに違いないと思いますが、疑わしいものは何もありません。

編集: これは、罪のない人の名前を保護するために変更された AndroidManifest.xml です。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.foo.bar"
      android:versionCode="1"
      android:versionName="@string/global_app_version">
    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="10"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application android:label="@string/global_app_short_name" android:icon="@drawable/app">
        <activity android:name=".HomeActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity android:name=".AActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".BActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".CActivity"
                  android:launchMode="singleTask"
                  android:theme="@android:style/Theme.Black.NoTitleBar"
                  android:windowSoftInputMode="stateHidden">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".DActivity"
                  android:launchMode="singleTask"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".EActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <activity android:name=".FActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>
        </activity>

        <!-- This activity is invoked whenever an xxx is opened -->
        <activity android:name=".GActivity"
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter android:label="@string/global_app_short_name">
                <action android:name="android.intent.action.VIEW"/>
                <action android:name="android.intent.action.EDIT"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:mimeType="application/xxx"/>
                <data android:mimeType="application/yyy"/>
                <data android:mimeType="application/zzz"/>
                <data android:mimeType="application/aaa"/>
                <data android:mimeType="application/bbb"/>
            </intent-filter>
        </activity>
    </application>
</manifest> 
4

4 に答える 4

8

原因を突き止めました - コピー防止が有効になっていました。設定に関する Google のメモから: http://developer.android.com/guide/google/play/filters.html

アプリケーションをコピー保護するには、アプリケーションの公開オプションを構成するときにコピー保護を「オン」に設定します。Google Play は、開発者のデバイスまたはリリースされていないデバイスでコピー保護されたアプリケーションを表示しません。

つまり、Google Play をサイドロードしなければならないのは、「未リリースのデバイス」/Google CTS に失敗したデバイスであることの副作用にすぎません。いずれにせよ、コピー防止を無効にすると問題は解決しました。

于 2012-06-26T17:05:11.693 に答える
0

アプリ内製品がある場合、またはアプリケーションを有料で販売している場合、GooglePlayは請求をサポートしていない特定の国から自動的に除外します。Googleにメールを送信して、ここで質問することができます。

于 2012-06-26T14:41:40.177 に答える
0

影響を受けるユーザーは、デバイスでGooglePlayストアアプリをリセットしてみてください。

メニュー->設定->アプリ->GooglePlayストア

次に、[強制終了]と[データの消去]をクリックします

次に、Google Playストアを再起動してログインし、アプリのインストールを再試行します。

于 2012-06-25T07:36:58.513 に答える
0

実行しているハードウェアがアプリと互換性がない可能性がありますか? タッチ スクリーンが必要な場合がありますが、タッチ スクリーンがありません。多分あなたは電話が必要で、彼らはそれを持っていませんか?

ターゲット API によっては、暗黙的なハードウェア要件が発生する場合があることに注意してください。

とにかく、それらからログを取得しようとするのが最も役に立ちます!

于 2012-06-22T15:04:47.940 に答える