在不同的手机上通过市场看不到大APK

时间:2011-03-07 15:25:00

标签: android android-manifest google-play apk

我在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>

2 个答案:

答案 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