我有一个应用程序突然(今天)变得与它正在处理的设备不兼容。该应用程序是Dragon Lords,设备是Samsung 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>
答案 0 :(得分:5)
你的清单有
<uses-permission android:name="android.permission.READ_PHONE_STATE">
该权限会自动假定您使用android.hardware.telephony
功能(因为只有手机有READ_PHONE_STATE
)。根据{{3}}文档,如果您需要android.hardware.telephony
功能,您的应用程序将显示为不兼容。添加行
<uses-feature android:name="android.hardware.telephony" android:required="false" />
确保没有电话的设备仍然显示为兼容。确保您的应用程序正确处理没有电话的设备(因为尝试读取电话状态会使这些设备崩溃)。