【问题标题】:Application suddenly became incompatible with device(Galaxy Tab 2)应用程序突然变得与设备不兼容(Galaxy Tab 2)
【发布时间】:2013-04-19 22:19:30
【问题描述】:

我有一个应用程序突然(今天)变得与它工作正常的设备不兼容。该应用程序是 Dragon Lords,设备是三星 Galaxy Tab 2。有人知道这里会发生什么吗?

最后一个 apk 是 2 个月前上传的,一切正常。今天我有一个玩家报告说在市场上该应用程序与他的设备不兼容。我检查了我的 Galaxy Tab 2,情况也是如此。我的设备没有植根,所以我真的不知道发生了什么。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="auto"
package="mds.DragonLords"
android:versionCode="25"
android:versionName="1.2.19" >

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<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.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
     >
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="com.tapjoy.TJCOffersWebView" />
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="com.tapjoy.TapjoyFeaturedAppWebView" />
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="com.tapjoy.TapjoyVideoView" />
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:label="@string/app_name"
        android:name="mds.DragonLords.nowe.Splash"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".nowe.Tester" >
    </activity>
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:label="@string/app_name"
        android:name="mds.DragonLords.nowe.Main"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
    </activity>

    <service android:name="mds.DragonLords.nowe.billing.BillingService"/>

    <receiver android:name="mds.DragonLords.nowe.billing.BillingReceiver">
        <intent-filter >
            <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
            <action android:name="com.android.vending.billing.RESPONSE_CODE" />
            <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED"/>
        </intent-filter>
    </receiver>
</application>

</manifest>

【问题讨论】:

  • 您是否根据平板电脑操作系统版本检查了清单中的 android 版本要求?您使用什么版本号?
  • 嗯,问题是它正在工作。因此,除非两个设备都将其操作系统降级,否则它应该可以工作。而且我不记得降级我的设备。 Atm 市场上有 2 个 APK,一个最低 API 等级为 7,另一个最低等级为 8。所以我真的不认为这可能是 API 问题。
  • 还有许多其他清单属性可能会影响这一点。发布您的清单将为您提供解决方案的最佳机会。

标签: android galaxy incompatibility


【解决方案1】:

您的清单有

<uses-permission android:name="android.permission.READ_PHONE_STATE">

该权限自动假定您使用android.hardware.telephony 功能(因为只有手机有READ_PHONE_STATE)。根据Optimizing for Android 3.0/Tablets 文档,如果您需要android.hardware.telephony 功能,您的应用程序将显示为不兼容。添加行

<uses-feature android:name="android.hardware.telephony" android:required="false" />

为了确保没有电话的设备仍将显示为兼容。确保您的应用程序正确处理没有电话的设备(因为尝试读取电话状态会使这些设备崩溃)。

【讨论】:

  • 这是有道理的。在市场上上传了新版本。上市后会通知您平板电脑是否可以看到。
  • 好像没用。我们的平板电脑仍然看不到该应用程序。 :(
  • 我真的不知道发生了什么,特别是因为开发者控制台将 Galaxy Tab 2 显示为应用程序可用的设备之一。我猜如果清单中的任何内容会使应用程序无法在设备上运行,则该设备不会被列出,并且根据控制台,我们的应用程序可在 2702 台设备上使用。
  • 我的一个用户设法从 Google 获得了一些信息。显然这是一个屏幕尺寸的问题。我们刚刚添加了对 xlarge 屏幕的清单支持。希望能帮助到你。感谢您抽出宝贵时间回复我的问题。
猜你喜欢
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 2019-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多