Dianne, Sorry to revive the thread (its been a while), but noticed this got posted in a different thread: http://groups.google.com/group/android-developers/browse_thread/thread/d92a41988f9d3428
packageinstaller/PackageInstallerActiviity.java (line 293): //compute the size of the application. just an estimate long size; String apkPath = mPackageURI.getPath(); File apkFile = new File(apkPath); //TODO? DEVISE BETTER HEAURISTIC size = 4*apkFile.length(); checkOutOfSpace(size); Definitely shows exactly what I was talking about (a 6mb file requiring 24mb free), and looks like it should affect all installs that go through the package manager. We're working on work-arounds in our app (after-market downloads to SDcard), but this could still be an issue for others, especially with the relatively small space on the G1 :) Glad we got it pinpointed, should I submit a bug? - Dan On Fri, Sep 11, 2009 at 12:51 PM, Dan Sherman <impact...@gmail.com> wrote: > I _think_ the market has the same issue, I'll try to confirm it tonight, > but from what I've heard from users they're experiencing "download errors" > if they don't have a large amount of space free. Again, I'll try to get > some more concrete info later tonight :) > > Thanks for taking a look at this stuff with me :) > > - Dan > > > On Fri, Sep 11, 2009 at 12:56 AM, Dianne Hackborn <hack...@android.com>wrote: > >> Okay it just sounds like the browser's (or download manager's) checking on >> free space may be a little overly aggressive (though perhaps not too much, >> once you start getting to 15% free or so performance goes down fast). >> >> On the one hand, I don't see what can be done for ADC. On the other hand, >> people won't be installing it from the browser, so I'm not sure how big a >> deal it is? Or does Market have the same limit? >> >> >> On Thu, Sep 10, 2009 at 9:37 PM, Dan Sherman <impact...@gmail.com> wrote: >> >>> Hey Dianne (or anyone else reading), >>> >>> I've got a more concrete case nailed down here. Might help us to figure >>> this issue out :) >>> >>> There's still a tiny bit of ambiguity which looks to be stemming from >>> Windows vs Linux sdk's (as far as I can tell), but this process should >>> illustrate the problem. >>> >>> All of these are from my Linux sdk (1.5-r2) >>> Create a fresh emulator (default hardware): >>> # android create avd -t 2 -n spacetest >>> Run it with a fresh sdcard: >>> # emulator -avd spacetest -sdcard sdcard & >>> Check free-space on emulator (this is where the ambiguity comes in), in >>> Settings--> SD and Phone Storage --> Internal Phone Available Space >>> My emulator shows 46mb, using the same commands, a co-worker's shows 47mb >>> on Windows. Regardless... >>> /data: 65536K total, 17584K used, 47952K available (block size 4096) >>> >>> Download a copy of a bloated APK we made to your local computer ( >>> http://www.chickenbrickstudios.com/Cestos-large.apk) >>> # wget http://www.chickenbrickstudios.com/Cestos-large.apk >>> Install the APK via adb: >>> # adb install ~/Desktop/Cestos-large.apk >>> >>> Verify that you've got around 23mb free (same as above) this shows 23mb >>> free on mine, 24mb free on co-worker's. >>> /data: 65536K total, 41420K used, 24116K available (block size 4096) >>> >>> Open the browser (note the available space will decrease _slightly_ with >>> the first page load (I imagine some caching/settings/etc) >>> /data: 65536K total, 42848K used, 22688K available (block size 4096) >>> >>> Browse to http://www.chickenbrickstudios.com/ProjectInf.apk (our APK >>> we're having issues installing), which should be 5.67mb. >>> Wait for the download to finish in the browser. Click on the downloaded >>> APK >>> >>> I am presented with a alert saying "ProjectInf could not be viewed. Free >>> up some space on your phone and try again", with two options (Manage >>> Applications, and Cancel). A partition snapshot while that screen is active >>> shows: >>> /data: 65536K total, 42756K used, 22780K available (block size 4096) >>> >>> Now, on my co-workers clean emulator, it installs perfectly fine, >>> however, if he adds any about 1mb to the storage (any 1mb apk will do), he >>> runs into the same issue, which leads me to believe the "sweet spot" is very >>> close to this 4x size. >>> >>> The obvious issue here is that 22.78mb should be plenty large enough to >>> install a 5.67mb APK. As you said, double is expected, slightly over double >>> would even be fine, but we're currently looking at very close to 4x the >>> space, which is an issue :) >>> >>> >>> As an extra kick, the snapshots you posted before are correct as well, >>> because this same APK (ProjectInf.apk) works fine when installed via ADB: >>> adb install ~/Desktop/ProjectInf.apk >>> 2297 KB/s (5949253 bytes in 2.528s) >>> pkg: /data/local/tmp/ProjectInf.apk >>> Success >>> >>> >>> If you need any more information, let me know what I can provide, I'd be >>> more than happy to help try to sort this one out :) >>> We're just having issues with it, and are a bit worried about ADC, as it >>> looks like judges might need to have more than half of their phone's data >>> partition empty to be able to install our app :) >>> >>> - Dan >>> >>> >>> >>> >>> On Tue, Sep 8, 2009 at 6:19 PM, Dan Sherman <impact...@gmail.com> wrote: >>> >>>> I'll see what I can do here to reproduce the issue with more concrete >>>> documentation, everything we've got so far is based on user input and what >>>> they've told us they've needed to free to get it to install properly. :) >>>> >>>> Thanks for the response :) >>>> >>>> - Dan >>>> >>>> >>>> On Tue, Sep 8, 2009 at 6:07 PM, Dianne Hackborn <hack...@android.com>wrote: >>>> >>>>> To be honest, I am surprised it requires that much. For something that >>>>> isn't forward locked, we should need at most double the space (for the >>>>> original copy of the apk, and the copy placed into /data/apps by the >>>>> system >>>>> as it is being installed before the original is deleted). Using more than >>>>> 3x (actually almost 4x, but it being something between 3x and 4x is weird >>>>> in >>>>> itself) is not expected. >>>>> >>>>> Btw, I just tried installing a 2068K app with "adb install" and here is >>>>> a series of snapshots of the available space in /data: >>>>> >>>>> /data: 330496K total, 33600K used, 296896K available (block size 4096) >>>>> /data: 330496K total, 36000K used, 294496K available (block size 4096) >>>>> /data: 330496K total, 37716K used, 292780K available (block size 4096) >>>>> /data: 330496K total, 37744K used, 292752K available (block size 4096) >>>>> /data: 330496K total, 38056K used, 292440K available (block size 4096) >>>>> /data: 330496K total, 38208K used, 292288K available (block size 4096) >>>>> /data: 330496K total, 36184K used, 294312K available (block size 4096) >>>>> /data: 330496K total, 36184K used, 294312K available (block size 4096) >>>>> /data: 330496K total, 36184K used, 294312K available (block size 4096) >>>>> >>>>> That seems to match only requiring 2 copies of the .apk. (And to be >>>>> honest, I think when you install over market you only need one copy of the >>>>> .apk, because the actual download happens into /cache so doesn't use space >>>>> in the data partition.) >>>>> >>>>> So... sorry, I honestly don't know what is happening in your case. >>>>> >>>>> >>>>> On Tue, Sep 8, 2009 at 2:41 PM, Dan Sherman <impact...@gmail.com>wrote: >>>>> >>>>>> We're also a bit worried about how this would/will be handled in the >>>>>> ADC installer, as I'm sure 22mb is easily above what many community >>>>>> judges >>>>>> will have available... >>>>>> >>>>>> - Dan >>>>>> >>>>>> >>>>>> On Tue, Sep 8, 2009 at 2:33 AM, Dan Sherman <impact...@gmail.com>wrote: >>>>>> >>>>>>> Oh sorry. >>>>>>> >>>>>>> I must not have specified, this is with just an APK, completely >>>>>>> outside of the market. We've heard complaints of users having issues >>>>>>> through the market, but with a full uninstall of the application, and an >>>>>>> install from a downloaded APK (which I imagine should be a fresh >>>>>>> install), >>>>>>> it requires 22mb free during the install process. >>>>>>> >>>>>>> - Dan >>>>>>> >>>>>>> >>>>>>> On Tue, Sep 8, 2009 at 1:18 AM, Dianne Hackborn <hack...@android.com >>>>>>> > wrote: >>>>>>> >>>>>>>> If you select the option when putting your app on market it to copy >>>>>>>> protect it (which uses forward locking on the device). >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Sep 7, 2009 at 7:21 PM, Dan Sherman <impact...@gmail.com>wrote: >>>>>>>> >>>>>>>>> Thanks for the responses, >>>>>>>>> >>>>>>>>> Dianne, what do you mean by forward-locked? >>>>>>>>> >>>>>>>>> - Dan >>>>>>>>> >>>>>>>>> On Mon, Sep 7, 2009 at 2:51 PM, Dianne Hackborn < >>>>>>>>> hack...@android.com> wrote: >>>>>>>>> >>>>>>>>>> If your app is forward locked, it can take significantly more >>>>>>>>>> space, even after the install is done (unfortunately all of the >>>>>>>>>> resources >>>>>>>>>> currently have to be installed twice). >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Sep 7, 2009 at 8:13 AM, Dan Sherman >>>>>>>>>> <impact...@gmail.com>wrote: >>>>>>>>>> >>>>>>>>>>> Hey guys, >>>>>>>>>>> >>>>>>>>>>> The package installer looks to take up a good amount of space >>>>>>>>>>> when installing applications. We've published a very large game >>>>>>>>>>> (ProjectINF >>>>>>>>>>> - 6mb). And it looks to be taking up a good amount of space during >>>>>>>>>>> the >>>>>>>>>>> install process, to the point that we have a lot of users emailing >>>>>>>>>>> us with >>>>>>>>>>> complaints/requests to "fix it". >>>>>>>>>>> >>>>>>>>>>> From what we've seen, it looks to take about 22mb of free space >>>>>>>>>>> to install a 6mb apk. While I can imagine taking double or so for >>>>>>>>>>> unpacking >>>>>>>>>>> and temp locations, almost 4x the size seems a bit high. After an >>>>>>>>>>> install >>>>>>>>>>> with 22mb free, the device has 16mb free (which makes perfect >>>>>>>>>>> sense). >>>>>>>>>>> >>>>>>>>>>> Users also seem to be getting errors on the market when trying to >>>>>>>>>>> install with less than that amount of space (with no real clear >>>>>>>>>>> error >>>>>>>>>>> message, just "Install Failed". >>>>>>>>>>> >>>>>>>>>>> I doubt theres anything we can do on our side (besides shrinking >>>>>>>>>>> our app all around), but figured I'd ask :) >>>>>>>>>>> >>>>>>>>>>> - Dan >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Dianne Hackborn >>>>>>>>>> Android framework engineer >>>>>>>>>> hack...@android.com >>>>>>>>>> >>>>>>>>>> Note: please don't send private questions to me, as I don't have >>>>>>>>>> time to provide private support, and so won't reply to such e-mails. >>>>>>>>>> All >>>>>>>>>> such questions should be posted on public forums, where I and others >>>>>>>>>> can see >>>>>>>>>> and answer them. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Dianne Hackborn >>>>>>>> Android framework engineer >>>>>>>> hack...@android.com >>>>>>>> >>>>>>>> Note: please don't send private questions to me, as I don't have >>>>>>>> time to provide private support, and so won't reply to such e-mails. >>>>>>>> All >>>>>>>> such questions should be posted on public forums, where I and others >>>>>>>> can see >>>>>>>> and answer them. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Dianne Hackborn >>>>> Android framework engineer >>>>> hack...@android.com >>>>> >>>>> Note: please don't send private questions to me, as I don't have time >>>>> to provide private support, and so won't reply to such e-mails. All such >>>>> questions should be posted on public forums, where I and others can see >>>>> and >>>>> answer them. >>>>> >>>>> >>>>> >>>>> >>>> >>> >>> >>> >> >> >> -- >> Dianne Hackborn >> Android framework engineer >> hack...@android.com >> >> Note: please don't send private questions to me, as I don't have time to >> provide private support, and so won't reply to such e-mails. All such >> questions should be posted on public forums, where I and others can see and >> answer them. >> >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---