2

我有一个应用程序突然(今天)变得与它正在正常工作的设备不兼容。该应用程序是 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>
4

1 回答 1

5

你的清单有

<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" />

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

于 2013-04-19T22:44:01.817 回答