2

I have a large application published in Android Market which for some unknown reason is not visible on all of the phones that I have tested it on. I have tested the same application on these same phones by installing via USB and there was no issues at all. I believe the issue where the different phones are not all able to see the application in Android Market has something to do with the size of the application (43 MBs) which is under the new 50 MB limit.

I'm not using any unusual market place filters (I have listed the badging below). The full application is visible in Android Market on a Motorola Droid 2.0 (US), but not visible on a Samsung Galaxy S 2.1 (UK), HTC Legend 2.2 (UK) or HTC Desire 2.2 (UK). I do not have a maxSdkVersion set!

To verify that the issue was due to the size of the APK, I created several different versions of the same APK, everything was the same except the versionCode in the manifest, which I had to change for Market would allow an update to be published, and the number of PNG files in the asset directory. I created an APK just under 25 MBs which was visible in Market on all phones, an APK just under 35 MBs which was visible on the Droid and HTC phones, but not the Samsung Galaxy S, and the full application 43 MBs which was only visible on the Droid.

Any idea what could be the problem? Do different phone manufactures impose different APK size limits that can be installed via Market on their phone? All testing/installing via the Market was completed on the phones using WiFi, not 3G!

The full application can be found here: 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'

Motorola Droid Milestone
Firware 2.0 (GAS_EMEA_USASHLS00RTGB_P008)
Kernel 2.6.29-omap1a a21146@ca25rhe53 #1
Build SHOLS_U2_01.03.1.1.259012006

Samsung Galaxy S
Model GT-I9000
Firmware 2.1-update1
Kernel 2.6.29 root@SE-S602 #2
Build ECLAIR.XWJFF

HTC Legend
Firmware 2.2
Kernel 2.6.32.17-g30929af
Build 3.15.405.3

Manifest

<?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>
Nightfirecat
  • 11,432
  • 6
  • 35
  • 51
dmulligan
  • 95
  • 1
  • 1
  • 8

1 Answers1

0

Check this page: http://developer.android.com/guide/publishing/versioning.html#minsdkversion

Are you sure you're using min and max version in your androidManifest ?

Posting the manifest may help :)

EDIT: about the size, the limit was 50mb at the time of this post. NOTE that the size COULD to be related to the version of the market client installed on the phone. Check if your devices market app is up to date !

http://android-developers.blogspot.com/2010/12/android-market-client-update.html

tacone
  • 11,371
  • 8
  • 43
  • 60
  • Thanks, I have added the manifest, the Market app is up to date on the Galaxy S and HTC phones. If anything, it is an old version of Market on the only phone that appears to be working correctly. – dmulligan Mar 07 '11 at 15:44
  • Have you checked the space left on the internal storage of the non working devices ? They may have less than 50 mb free (just a guess). – tacone Mar 07 '11 at 15:46
  • Its a good guess, but I have tried it already, no luck. I made sure to uninstall too. – dmulligan Mar 07 '11 at 15:50
  • Does the apk install directly on those phones via adb? You may find the checked answer here ( http://stackoverflow.com/questions/3536463/android-application-apk-maximum-size ) and the related link ( http://vidarvestnes.blogspot.com/2010/08/how-large-can-android-apk-file-be.html ) interesting. Good luck ! – tacone Mar 07 '11 at 15:59
  • Also, if you test direct installation via eclipse, adb, direct link etc, and it fails be sure to check the debug logs while you do. – tacone Mar 07 '11 at 16:01
  • The application works without problem on all phones when installed using eclipse, adb and also if you download the apk using the browser in the phone! – dmulligan Mar 07 '11 at 16:06
  • As the final guess, I'd wait 1 or 2 days to see if it appears (maybe those devices use different mirrors ?). Otherwise I'd consider the option to include a minimal set of png and download the rest on the SD card at the first run. It is less appealing but definitly it is not a crime, and could lower the entry-barrier (i.e. installation time). – tacone Mar 07 '11 at 16:09