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

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/


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.

Has anyone else hit this?


My expectation would be that ProGuard would eliminate enough code to fix this, 
but perhaps it’s not aggressively pruning library code.
_______________________________________________
mobile-firefox-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to