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
-~----------~----~----~----~------~----~------~--~---

Reply via email to