我刚刚在市场上发布了我应用的更新。然后我尝试在运行2.2.2的Nexus One上推出市场。我在电话市场上找不到它。我去了网络市场,发现它,但安装被禁用说“这个项目与您的设备不兼容”。以下是我的清单 - 我看不到任何阻止它在我的Nexus One上工作的东西。让我觉得它也没有为他人展示。任何人都可以安装(或看看是否可以看到)“为孩子占用”或“为孩子占用(演示)”。您可以轻松地尝试演示版本,因为它是免费的。两者都表现出问题。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ecg.occupiedDemo"
android:versionCode="15"
android:versionName="2.01"
android:installLocation="auto" >
<supports-screens
android:smallScreens="false"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"
/>
<uses-configuration android:reqTouchScreen="finger"></uses-configuration>
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/button_launchdemo" android:label="@string/app_name">
*<Activity List Here>*
</application>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" />
</manifest>
答案 0 :(得分:5)
另一个可能的原因:
当我发布一个应用程序时,我遇到了这个问题,所以我一直在讨论这个问题,直到我弄清楚它为止。当我在我的应用程序上禁用了复制保护时,突然它与我的设备兼容(Sony Xperia Play),我能够通过Android市场安装。
现在不推荐使用复制保护,并且正在使用新的许可功能替换复制保护,因此假设许可证没有相同的错误,理论上这个问题将被逐步淘汰。对于那些受影响的人,我找到了一个潜在的解决方案,但它需要一个解锁的引导程序来清除你的缓存分区:
http://forum.xda-developers.com/showpost.php?p=11626645&postcount=425
因此,如果您是开发人员且某些人无法看到您的应用,请禁用复制保护并使用许可。我还建议使用内置ProGuard功能的Android SDK来混淆(加扰)您的代码,使其更难进行逆向工程。
答案 1 :(得分:2)
在玩了一些之后,我找到了问题的答案。当我将APK上传到市场时,我收到警告“这个apk请求1个原生平台将用于Android Market过滤”因为我包含了一个JAR文件。删除JAR文件后,它又开始显示。
答案 2 :(得分:0)
好的解决了..
你做的是在Android开发者控制台中。向下滚动你现在可以看到“兼容”的支持设备。你看下面的例子。
android开发者控制台: 支持的设备 [了解更多]此应用程序仅适用于具有这些功能的设备,如应用程序清单中所定义。 屏幕布局:NORMAL LARGE XLARGE 屏幕密度: 所需的设备功能 android.hardware.touchscreen 此应用程序适用于超过469台设备。显示设备
单击有关显示设备的链接。然后,如果您的设备不在那里,它将不会在市场上显示。一个原因是,后来运行1.6+的手机中的某些屏幕布局被指定为SMALL并且将&amp; 1.5不支持。因此,在此示例中,您的应用程序无法在小型屏幕手机1.6+上运行。在这种情况下,要添加小屏幕支持,请向清单添加目标SDK版本。那么你的项目将无法编译!所以右键点击你的项目 - &gt;属性和更改构建目标为1.6,它仍将在1.5上运行,但现在已在市场上看到。只要您上传(发布之前),您就应该在支持的设备列表中看到您的手机..关于挥杆和围绕一个回合!