I tried it on the emulator. Richard does it fail for you there?

James

> On Oct 29, 2014, at 6:44 PM, Chris Kitching <[email protected]> wrote:
> 
> Not necessarily! As Facebook mentioned in their blog post, per-vendor 
> variation can exist. Try it on a device identical to the one Richard used and 
> see what happens.
> 
> On 29 Oct 2014 23:41, "James Willcox" <[email protected] 
> <mailto:[email protected]>> wrote:
> I built both opt and debug with the new SDK and support lib, and haven’t had 
> any problem with installing onto a 2.3 device. Must be something else going 
> on.
> 
> James
> 
>> On Oct 29, 2014, at 12:54 PM, Chris Kitching <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Proguard has a class merging feature that will mitigate this problem as well 
>> as save binary size.
>> 
>> In Fennec, this feature is turned off because the example config file from 
>> Google I was using as a template contained a comment warning that this can 
>> crash early versions of Dalvik.
>> 
>> We may no longer care. The options should be pretty straightforward to spot 
>> in profuard.cfg (but I'll post again with mxr links if desired when I'm not 
>> on a phone).
>> 
>> I suggest investigating this before trying Facebook's selections of utter 
>> insanity.
>> 
>> On 29 Oct 2014 16:32, "James Willcox" <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 
>>> On Oct 29, 2014, at 11:07 AM, Richard Newman <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> When I build and install Fennec on my 2.3 hardware, I hit an error that 
>>> we’re exceeding LinearAlloc capacity. Gingerbread has a 5MB limit. ICS and 
>>> up have 8MB.
>>> 
>>> I don’t hit this with builds from infra. I recently upgraded support 
>>> library and SDK; I’m pretty confident that before the upgrade I was able to 
>>> install my built APKs.
>>> 
>>> 
>>> Doing some reading, this seems to occur when you have deep interface 
>>> hierarchies, and/or lots of classes. You’ll see this issue cited a lot:
>>> 
>>>  https://code.google.com/p/android/issues/detail?id=22586 
>>> <https://code.google.com/p/android/issues/detail?id=22586>
>>> 
>>> but lots of other folks seem to hit this just by using fat libraries (e.g., 
>>> JodaTime). You start dumping Facebook libs, rendering libs, datetime libs 
>>> into your project, and suddenly it won’t install. E.g.,
>>> 
>>>  http://www.birbit.com/how-to-solve-linearalloc-problem/ 
>>> <http://www.birbit.com/how-to-solve-linearalloc-problem/>
>>> 
>>> 
>>> We do use fat libraries, we are a big project, and so I suspect we’re 
>>> hovering right around 5MB with old tools, and over 5MB with new ones.
>>> 
>>> Another hypothesis is that method name collisions (typically across 
>>> libraries) will b0rk things, but I don’t see evidence of that in my ADB log.
>>> 
>>> 
>>> So I’m concerned: an infra upgrade could just break 2.3 devices, for one 
>>> thing.
>> 
>> Yeah, that’s worrying. Presumably our 2.3 emulator testing would catch this, 
>> though.
>> 
>>> 
>>> Has anyone else hit this?
>> 
>> Facebook has, and came up with an insane hack to work around it: 
>> https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920
>>  
>> <https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920>
>> 
>> I think if it comes to it, we can use the same hack.
>> 
>>> 
>>> 
>>> My expectation would be that ProGuard would eliminate enough code to fix 
>>> this, but perhaps it’s not aggressively pruning library code.
>> 
>> I would like to know how much ProGuard strips out. Do we have that 
>> somewhere? Does ProGuard make that easily available?
>> 
>> James
>> 
>> 
>> 
>> _______________________________________________
>> mobile-firefox-dev mailing list
>> [email protected] <mailto:[email protected]>
>> https://mail.mozilla.org/listinfo/mobile-firefox-dev 
>> <https://mail.mozilla.org/listinfo/mobile-firefox-dev>
>> 
> 

_______________________________________________
mobile-firefox-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to