Android应用程序与侧向载荷谷歌播放设备不兼容 [英] Android App not compatible with devices that sideload Google Play

查看:224
本文介绍了Android应用程序与侧向载荷谷歌播放设备不兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个已经部署到播放和与运行2.1或更高版本的设备兼容的应用程序;没有特殊的限制或要求在AndroidManifest.xml中定义的。

目前已经从用户试图安装的应用程序通过谷歌播放,但得到的消息,这是不兼容过几次投诉。在所有这些情况下,侧载应用程序完美的作品。

挖得更深一些到这个问题,似乎在任何情况下,报告的人的问题,使用的设备不与谷歌播放安装船。 IE浏览器。该设备可能没有谷歌的CTS。

说了这么多,他们能够通过谷歌安装其他应用程序,玩,但不是我们的。此外,侧载我们的应用程序到这些设备的正常工作。有谁知道这可能是为什么?我相信它一定有什么我做错误在AndroidManifest.xml中,但我没有发现可疑的。

编辑:这里是AndroidManifest.xml中,改变以保护无辜者的名称:

 < XML版本=1.0编码=UTF-8&GT?;
<舱单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
      包=com.foo.bar
      安卓版code =1
      机器人:VERSIONNAME =@字符串/ global_app_version>
    <使用-SDK安卓的minSdkVersion =7安卓targetSdkVersion =10/>
    <使用-权限的Andr​​oid:名称=android.permission.WRITE_EXTERNAL_STORAG​​E/>
    <应用机器人:标签=@字符串/ global_app_short_name机器人:图标=@可绘制/应用程序>
        <活动机器人:HomeActivityNAME =
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.MAIN/>
                <类机器人:名称=android.intent.category.LAUNCHER/>
            &所述; /意图滤光器>
        < /活性GT;

        <活动机器人:AActivityNAME =
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.VIEW/>
            &所述; /意图滤光器>
        < /活性GT;

        <活动机器人:名称=。BActivity
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.VIEW/>
            &所述; /意图滤光器>
        < /活性GT;

        <活动机器人:CActivityNAME =
                  机器人:launchMode =singleTask
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar
                  机器人:windowSoftInputMode =stateHidden>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.VIEW/>
            &所述; /意图滤光器>
        < /活性GT;

        <活动机器人:名称=。DActivity
                  机器人:launchMode =singleTask
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.VIEW/>
            &所述; /意图滤光器>
        < /活性GT;

        <活动机器人:名称=电子教案
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.VIEW/>
            &所述; /意图滤光器>
        < /活性GT;

        <活动机器人:名称=。FActivity
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.VIEW/>
            &所述; /意图滤光器>
        < /活性GT;

        <  - !此活动被调用每当XXX被打开 - >
        <活动机器人:名称=。GActivity
                  机器人:主题=@安卓风格/ Theme.Black.NoTitleBar>
            <意图过滤器的Andr​​oid版本:标签=@字符串/ global_app_short_name>
                <作用机器人:名称=android.intent.action.VIEW/>
                <作用机器人:名称=android.intent.action.EDIT/>
                <类机器人:名称=android.intent.category.DEFAULT/>
                <类机器人:名称=android.intent.category.BROWSABLE/>
                <数据机器人:MIMETYPE =应用/ XXX/>
                <数据机器人:MIMETYPE =应用/ YYY/>
                <数据机器人:MIMETYPE =应用/ ZZZ/>
                <数据机器人:MIMETYPE =应用/ AAA/>
                <数据机器人:MIMETYPE =应用/ BBB/>
            &所述; /意图滤光器>
        < /活性GT;
    < /用途>
< /舱单>
 

解决方案

我找到了罪魁祸首 - 版权保护已启用。从谷歌的设置注意事项: http://developer.android.com/guide/google/play/filters.html

  

要复制保护的应用程序,设置复制保护开,当你   为您的应用配置发布选项。谷歌播放会   不显示在开发设备或复制保护的应用程序   未发布的设备。

在换句话说,不必侧向载荷谷歌Play是被失败的谷歌CTS的未发行装置/设备只是一个副作用。在任何情况下,禁用拷贝保护解决了问题。

I have an app which has been deployed to Play and is compatible with any device running 2.1 or later; no special restrictions or requirements defined in AndroidManifest.xml.

There have been several complaints from users trying to install the app via Google Play but getting messages that it is not compatible. In all of these cases sideloading the app works perfectly.

Digging a little deeper into the problem it appears that in all cases, the people reporting the problem are using a device that did not ship with Google Play installed. IE. the device probably failed Google's CTS.

Having said that, they are able to install other apps via Google Play but not ours. Again, sideloading our app onto these devices works fine. Does anybody know why this might be? I assume it must be something I am doing incorrectly in AndroidManifest.xml but I see nothing suspicious.

EDIT: Here's the AndroidManifest.xml, altered to protect the names of the innocent:

<?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> 

解决方案

I found the culprit - Copy Protection was enabled. From Google's notes on the setting: http://developer.android.com/guide/google/play/filters.html

To copy protect an application, set copy protection to "On" when you configure publishing options for your application. Google Play will not show copy-protected applications on developer devices or unreleased devices.

In other words, having to side-load Google Play is just a side effect of being an "unreleased device" / device that fails the Google CTS. In any case, disabling copy protection resolved the issue.

这篇关于Android应用程序与侧向载荷谷歌播放设备不兼容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆