【问题标题】:App not Ice Cream Sandwich compatible应用程序不兼容冰淇淋三明治
【发布时间】:2012-02-04 19:00:26
【问题描述】:

我开发了一个无法从市场下载到 Android ICS 设备的 Android 应用程序。使用 4.x 设备浏览市场的人会看到“不兼容警告”并且无法继续下载。该应用的 minSdkVersion 设置为 7。它在 2.x 和 3.x Android 设备上运行良好。 我不知道该怎么做以及如何解决这个问题。为了与 ICS 兼容,我需要设置什么特别的东西吗?我找不到有关此主题的任何信息。

更新:我刚刚收到确认手动安装 APK 可以在 4.0 设备上运行。它只是不会通过市场安装!同样,它在市场上显示为“与您的设备不兼容”。有什么想法吗?

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nl.tmd.natuurijs" 
android:versionCode="7" android:versionName="1.1.3">

<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application android:name=".NatuurijsApplication"
    android:icon="@drawable/icon" android:label="@string/app_name">

    <uses-library android:name="com.google.android.maps" android:required="false"/>

    <!-- Main Activity -->
    <activity android:name=".MainActivity" android:label="@string/app_name"
        android:theme="@style/NatuurijsTheme" android:launchMode="singleTask" android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="natuurijs" android:host="main" />
        </intent-filter>
    </activity>

    <!-- Map Activity -->
    <activity android:name=".NatuurijsMapActivity" android:label="@string/app_name"
        android:theme="@style/NatuurijsTheme" />

    <!-- Map Activity -->
    <activity android:name=".NatuurijsAddVenueActivity" android:label="@string/app_name"
        android:windowSoftInputMode="adjustPan" android:theme="@style/NatuurijsTheme">
    </activity>

    <!-- Locations list Activity -->
    <activity android:name=".NatuurijsLocationsActivity" android:label="@string/app_name"
        android:theme="@style/NatuurijsTheme">
    </activity>

    <!-- Location details Activity -->
    <activity android:name=".NatuurijsLocationDetailsActivity" android:label="@string/app_name"
        android:theme="@style/NatuurijsTheme">
    </activity>

    <!-- Select a location by hand -->
    <activity android:name=".SelectLocationActivity" android:label="@string/app_name"
        android:theme="@style/NatuurijsTheme">
    </activity>

    <!-- Info Activity-->
    <activity android:name=".InfoActivity" android:label="@string/app_name"
        android:theme="@style/NatuurijsTheme">
    </activity>

</application>
</manifest>

可能是主题吗?主题没什么特别的。它只是继承自 Theme.Black.NoTitleBar

<style name="NatuurijsTheme" parent="android:Theme.Black.NoTitleBar"></style>

【问题讨论】:

  • 向我们展示您的AndroidManifest.xml。您可以在 ICS 4.x 设备上手动安装和运行您的应用程序吗?
  • 有 xhdpi。这就是 Galaxy Nexus 的用途。
  • 你有没有想过这个问题?我有一个类似的问题。我的 Manifest 也没有什么特别之处。
  • 我可以在 ICS 4.0.3 上的 GS2 上毫无问题地下载您的应用
  • 我可以在 Nexus S 4.0.4 上下载和使用您的应用

标签: java android android-4.0-ice-cream-sandwich


【解决方案1】:

您的应用是否在 Play 商店发布部分的“发布选项”下受到版权保护?来源:My Android App shows as "this item is not compatible with your device"

【讨论】:

    【解决方案2】:

    我的应用收到了类似的投诉。我在我的应用程序中注意到的一件事是我正在使用一个 Tab Activity,它现在在 Android 4.0+ 中已被弃用。 (如果您使用 TabActivity/TabHost 这是一个问题,那么没有硬菜单键的手机将无法使用选项菜单。)我用普通按钮替换了我的选项卡以进行应用导航,我相信这可能解决了我的 ICS 兼容性问题.

    另外,我尝试更新我的清单 android:minSdkVersion 和 ADDED android:targetSdkVersion ,但我不确定这些是否真的修复了任何问题。

    注意:如果您需要帮助查找已弃用的代码,请尝试通过更改项目属性来告诉 Eclipse 将已弃用的功能显示为错误。


    编辑:

    更多信息:显然我在 ICS 兼容性方面仍然存在一些问题,因此我需要解决的不仅仅是上述问题。仍然不确定我还能做什么。我在研究中发现的一件事是,显然拥有自定义 ROMS 的人有时会有“不正确的 XML 值”,这使得 Google Play 商店说它们不兼容。也许通过网络版 Google Play 下载并要求用户从那里远程安装可能会解决我们的问题。

    编辑 2:

    您的应用不应再使用 Google Play 商店发布部分“发布选项”下的版权保护。

    【讨论】:

      【解决方案3】:

      您使用的 OEM 构建的 Android 设备很可能在某处的 xml 文件中存在错误值,这对于 Play on ICS 而言并非闻所未闻。

      【讨论】:

        【解决方案4】:

        在您的清单中尝试

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

        即使这不能解决您的问题,强烈推荐,因为它会在 3.0+ 设备上启用硬件加速,它会隐藏底部系统栏中不需要的“菜单”屏幕按钮(在屏幕返回的设备上, home 等按钮),它允许 Android 开发工具检测代码中 Android 版本之间的兼容性问题。 您是否尝试过更新您的 android sdk 和 ide 插件?

        【讨论】:

          【解决方案5】:

          除了 Deadeye 所说的以外,我的猜测是由于缺乏屏幕支持(4.X.X 设备往往有 largeScreens 或 xlargeScreens)。

          您应该至少需要编译到 2.3.3 并添加到清单中:

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

          我想这会解决你的问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-08-10
            • 2012-05-02
            • 1970-01-01
            • 1970-01-01
            • 2011-12-24
            • 1970-01-01
            相关资源
            最近更新 更多