Live data from Hacker News

Facebook Does It Again. Cheating Dalvik

blog.mohitkanwal.com

11–20 of 66 posts

Re: Facebook Does It Again. Cheating Dalvik

#11
post #9

We have this problem. We have a large, mostly-Java game for Android. It won't run on gingerbread, because we just have too much code. While the official solution looks quite brief, retrofitting it is a nightmare. Unless Facebook got around to rewriting everything again, I can understand why they'd do it their way.

I don't think anyone with a phone running 2.x can run games. I have an HTC One or whatever (4 years old; got it from a friend) and I could never ever imagine playing a game on it. Even the home screen lags!

I just played through Swordigo on a Galaxy S (the first one!) and it ran very smoothly. I am, it may be worth noting, using Cyanogenmod 11 nightlies.

Re: Facebook Does It Again. Cheating Dalvik

#13

We have this problem. We have a large, mostly-Java game for Android. It won't run on gingerbread, because we just have too much code. While the official solution looks quite brief, retrofitting it is a nightmare. Unless Facebook got around to rewriting everything again, I can understand why they'd do it their way.

There is a way: https://github.com/creativepsyco/secondary-dex-gradle

The new gradle build system really simplifies a lot of things in terms of the build cycle

Re: Facebook Does It Again. Cheating Dalvik

#14
post #9

We have this problem. We have a large, mostly-Java game for Android. It won't run on gingerbread, because we just have too much code. While the official solution looks quite brief, retrofitting it is a nightmare. Unless Facebook got around to rewriting everything again, I can understand why they'd do it their way.

I don't think anyone with a phone running 2.x can run games. I have an HTC One or whatever (4 years old; got it from a friend) and I could never ever imagine playing a game on it. Even the home screen lags!

Oh you will be surprised: Not every game requires higher Android version, they are mostly satisfied with c++, http://imgur.com/iX4dcL5

Card Games: Gingerbread (14%)

Re: Facebook Does It Again. Cheating Dalvik

#15
post #3

I'm a bit confused by this article, the author mentions: While the official standard way to to fix this problem is described in the offical Android Blog. Seems like Facebook missed it. What a waste. However, in the post linked by facebook, they explain why they couldn't use it (vaguely) After a bit of panic, we realized that we could work around this problem by breaking our app into multiple dex files, using the tech…

Yes i sort of forgot about it, the facebook article was old, i read it a long time ago, i rediscovered the issue when running FB on one of the Gingerbread devices.

Re: Facebook Does It Again. Cheating Dalvik

#17

We have this problem. We have a large, mostly-Java game for Android. It won't run on gingerbread, because we just have too much code. While the official solution looks quite brief, retrofitting it is a nightmare. Unless Facebook got around to rewriting everything again, I can understand why they'd do it their way.

If it's too much of a hassle to make your app work on Gingerbread, just don't bother with it anymore. I bet Google themselves will end all support for Gingerbread next year when version M comes out (as they should). It just doesn't make sense to support it longer than that, and by then the market share of Gingerbread should be under 15-20 percent, too. Gingerbread is the XP of Android - an old popular version, right…

> Google is now requiring OEMs to only launch devices that are 2 versions and/or 9 months old

Are they requiring anything from carriers or phone shops, though? Because everywhere in my town is still selling Gingerbread devices to anyone that doesn't know better.

Re: Facebook Does It Again. Cheating Dalvik

#18
post #5

There's a weird and arbitrary limitation in Dalvik, and the Facebook guys needed to work around it. The author makes it sound like it's some horrible sin. How about shaming the Google developers who thought 65k methods was enough for anyone? Wouldn't be good proper either, because they probably had a good reason for it. Software development isn't always stacking neat abstractions on top of each other. Sometimes you h…

The bug they hit isn't the 65k limit, but the smaller LinearAlloc buffer size on older versions of the OS.

Re: Facebook Does It Again. Cheating Dalvik

#19
post #9

We have this problem. We have a large, mostly-Java game for Android. It won't run on gingerbread, because we just have too much code. While the official solution looks quite brief, retrofitting it is a nightmare. Unless Facebook got around to rewriting everything again, I can understand why they'd do it their way.

I don't think anyone with a phone running 2.x can run games. I have an HTC One or whatever (4 years old; got it from a friend) and I could never ever imagine playing a game on it. Even the home screen lags!

I've got an old cheap 4 year old Acer phone running 2.3 as a backup phone and it plays lots of games fine. Sure not games using a lot of 3d graphics or games which require very precise timing, but it plays lots of other games.

Re: Facebook Does It Again. Cheating Dalvik

#20

We have this problem. We have a large, mostly-Java game for Android. It won't run on gingerbread, because we just have too much code. While the official solution looks quite brief, retrofitting it is a nightmare. Unless Facebook got around to rewriting everything again, I can understand why they'd do it their way.

There is a way: https://github.com/creativepsyco/secondary-dex-gradle The new gradle build system really simplifies a lot of things in terms of the build cycle

When did it come out ? I suspect it wasn't adopted widely a year ago.
Post reply on HN