3

我已将一个新应用程序上传到 play.google.com:

https://play.google.com/store/apps/details?id=development.nk.anguide

问题是我无法在平板电脑中安装此应用程序。在优化提示中有以下消息:“您的 APK 需要满足以下条件:任何所需的硬件功能通常都可以在平板电脑上使用。”

这是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="development.nk.anguide"
android:versionCode="2"
android:versionName="1.01" >

<supports-screens android:resizeable="true"
              android:smallScreens="true"
              android:normalScreens="true"
              android:largeScreens="true"
              android:xlargeScreens="true"
              android:anyDensity="true" />

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

<permission
    android:name="development.nk.anguide.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-feature 
    android:glEsVersion="0x00020000"
    android:required="false" />

<uses-permission android:name="development.nk.anguide.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!--  ΝΟΜΙΖΩ ΔΕΝ ΧΡΕΙΑΖΟΝΤΑΙ ΤΑ 2 ΠΑΡΑΚΑΤΩ... -->
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />


<application
    android:allowBackup="true"
    android:icon="@drawable/icon_144_144"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="development.nk.anguide.xxxxxxxx"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".DetailForm"></activity>
    <activity android:name=".MapActivity"></activity>
    <activity android:name=".MapAllActivity"></activity>
    <activity android:name=".EditPreferences"></activity>
    <activity android:name=".Categories"></activity>
    <activity android:name=".SubCategory"></activity>
    <activity android:name=".CategoriesExpandableList"></activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value=".......my API key .............." />
    </application>

很奇怪的想法是,我可以通过 USB 电缆将我的应用程序安装在我的平板电脑中,并从 Eclipse 中正常运行它......

那么我应该改变什么才能从平板电脑下载?

提前感谢您阅读我的问题..

4

2 回答 2

7

我认为问题出在这里:

<!--  ΝΟΜΙΖΩ ΔΕΝ ΧΡΕΙΑΖΟΝΤΑΙ ΤΑ 2 ΠΑΡΑΚΑΤΩ... -->
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

试试这个:

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

已经有人问过这个问题,请参阅此帖子了解更多信息。此外,如果您的目标是平板电脑和手机,则无需在代码上写下此内容,恕我直言:

<supports-screens android:resizeable="true"
          android:smallScreens="true"
          android:normalScreens="true"
          android:largeScreens="true"
          android:xlargeScreens="true"
          android:anyDensity="true" />

我不在我的应用程序中使用它。

于 2013-07-25T10:00:49.803 回答
1

只要您正确定义应用程序的目标 SDK 以使用它们,您就可以使用来自 eclipse 的 USB 电缆将任何应用程序安装到任何设备(智能手机/平板电脑)中。

尽管除非您使用某种“过滤器”,否则商店不会识别它。

要解决您的问题,请添加android:requiresSmallestWidthDpsupports-screens标签。

<supports-screens android:resizeable="true"
              android:smallScreens="true"
              android:normalScreens="true"
              android:largeScreens="true"
              android:xlargeScreens="true"
              android:anyDensity="true"
              android:requiresSmallestWidthDp="600" />

600(dp 单位)意味着所有设备必须具有至少 600dp 的最小可用区域的宽度。这与 7 英寸或更高的屏幕相同。或者,对于 10 英寸屏幕的最小宽屏幕,您可以使用 720(dp 单位)。

请查看此处以获取有关的更多详细信息android:requiresSmallestWithDp

于 2013-07-25T09:51:29.227 回答