我在Android电子市场发布了一个大型应用程序,由于某些未知原因在我测试过的所有手机上都看不到。我通过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中都可以看到,在Droid和HTC手机上可以看到一个低于35 MB的APK,但不是三星Galaxy S,而且只有可见的43 MB的完整应用程序在Droid上。
知道可能是什么问题吗?不同的手机制造商是否施加了不同的APK大小限制,可以通过手机上的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'
摩托罗拉Droid Milestone
Firware 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 root @ SE-S602#2
建立ECLAIR.XWJFF
HTC Legend
固件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>
答案 0 :(得分:1)
三星设备上有30 MB的下载缓存限制:
People can't download our specific product in Android Market
答案 1 :(得分:0)
检查此页面: http://developer.android.com/guide/publishing/versioning.html#minsdkversion
你确定你在androidManifest中使用了min和max版本吗?
发布清单可能会有所帮助:)
编辑:关于大小,在此post时限制为50mb。请注意,大小可能与手机上安装的市场客户端的版本相关。检查您的设备市场应用是否是最新的!
http://android-developers.blogspot.com/2010/12/android-market-client-update.html