【发布时间】:2011-10-10 03:42:25
【问题描述】:
我在 Android Market 中发布了一个大型应用程序,由于某种未知原因,它在我测试过的所有手机上都不可见。我通过 USB 安装在这些手机上测试了相同的应用程序,完全没有问题。我认为不同手机无法在 Android Market 中看到应用程序的问题与应用程序的大小(43 MB)有关,低于新的 50 MB 限制。
我没有使用任何不寻常的市场过滤器(我在下面列出了徽章)。完整的应用程序在摩托罗拉 Droid 2.0(美国)的 Android Market 中可见,但在三星 Galaxy S 2.1(英国)、HTC Legend 2.2(英国)或 HTC Desire 2.2(英国)上不可见。我没有设置 maxSdkVersion!
为了验证问题是由 APK 的大小引起的,我创建了同一个 APK 的多个不同版本,除了清单中的 versionCode 之外,其他所有版本都相同,我必须为 Market 更改它以允许更新被发布,以及资产目录中的 PNG 文件的数量。我创建了一个不到 25 MB 的 APK,它在所有手机上的 Market 中都可见,一个不到 35 MB 的 APK 在 Droid 和 HTC 手机上可见,但在三星 Galaxy S 上不可见,完整的应用程序只有 43 MB 可见在机器人上。
知道可能是什么问题吗?不同的手机制造商是否会施加不同的 APK 大小限制,这些限制可以通过 Market 安装到他们的手机上?所有通过 Market 进行的测试/安装都是在使用 WiFi 而非 3G 的手机上完成的!
完整的应用程序可以在这里找到:https://market.android.com/details?id=ie.decaresystems.mobile.android.marktrends
#> aapt dump badging myapp-release.apk
package: name='ie.decaresystems.mobile.android.marktrendstest' versionCode='3' versionName='Spring/Summer 2011'
uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.VIBRATE'
application: label='mark. trends' icon='res/drawable/appicon.png'
launchable activity name='ie.decaresystems.mobile.android.marktrends.LauncherActivity'label='mark. trends' icon=''
sdkVersion:'5'
uses-feature:'android.hardware.touchscreen'
main
other-activities
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '160'
摩托罗拉机器人里程碑
固件 2.0 (GAS_EMEA_USASHLS00RTGB_P008)
内核 2.6.29-omap1a a21146@ca25rhe53 #1
构建 SHOLS_U2_01.03.1.1.259012006
三星 Galaxy S
型号 GT-I9000
固件 2.1-update1
内核 2.6.29 根@SE-S602 #2
构建 ECLAIR.XWJFF
HTC 传奇
固件 2.2
内核 2.6.32.17-g30929af
构建 3.15.405.3
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ie.companyname.mobile.android.appname"
android:versionCode="8"
android:versionName="Version Name"
>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name="android.permission.VIBRATE"
/>
<supports-screens
android:anyDensity="true" />
<application
android:icon="@drawable/appicon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:debuggable="false"
>
<activity
android:name=".LauncherActivity"
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=".SectionActivity"
android:screenOrientation="portrait"
/>
<activity
android:name=".LargeImageActivity"
android:screenOrientation="portrait"
/>
</application>
<uses-sdk
android:minSdkVersion="5"
/>
</manifest>
【问题讨论】:
-
我在市场上看到了 HTC Desire HD(意大利 - 区域设置:EN_uk)。编辑:安装并运行得很好。
-
谢谢 tacone,看来我需要在更多手机上试试这个!
-
我可以确认它在 HTC Desire HD 和 HTC Desire Z 上也能正常工作!
-
在 Android Market 应用几天后仍然没有运气。我也尝试添加
标签: android android-manifest google-play apk