Error Compiling KitchenSink to Android Emulator
I can't get the KitchenSink app to compile. Here's what I have on my machine:
Windows 7 64-bit
Latest Android SDK
- Android 1.1 API Level 2
- Android 1.6 API Level 4
- Android 2.0 API Level 5
- Android 2.1-update1 API Level 7
- Android 2.2 API Level 8
Java
- java version "1.6.0_20"
- Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
- Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Log Output
Here is the output when I try to build and run in an emulator with Titanium Developer 1.2.1 against Android "APIs 1.6":
important part:
- C:\ProgramData\Titanium\mobilesdk\win32\1.4.0\android\modules\titanium-yahoo.jar
- [ERROR] System Error while compiling Android classes.dex
- [ERROR] C:\jdk1.6.0_16\bin\java.exe
- [TRACE] UNEXPECTED TOP-LEVEL ERROR:
- [TRACE] java.lang.OutOfMemoryError: GC overhead limit exceeded
- [TRACE] at com.android.dx.util.FixedSizeList.<init>(FixedSizeList.java:38)
Let me know if you have any ideas what I might be doing wrong. I tried building against 2.2, APIs 2.2, etc… and I'm getting the same issue.
I realize other people have posted on similar issues like this, but I still can't seem to fix it. This is kind of a show stopped in terms of using Appcelerator, because I can't actually learn how it works without running the KitchenSink app.
Thanks,
Dave
4 Answers
-
I found this post on the forum: http://developer.appcelerator.com/question/50491/where-do-i-put–xmx-option-garbage-collector-setting-androidjava
And changing the Xmx option to 1024m seems to have fixed my problem. I'm wondering why no one else has run into this issue, though. The memory usage seems to spike during the creation of the titanium-yahoo.jar file.
Anyways, it's working now, and hopefully in the future the memory setting can be extract out as a setting in Titanium Developer rather than being hard coded in builder.py.
Thanks,
Dave -
I've been at it on-and-off for several days trying to get the KitchenSink app to run. Tried several of the suggestions here, and the final one before I finally got KS up was changing the memory setting mentioned above in builder.py - but that alone didn't get it done.
Other steps I took to get the KS app up. Started the SDK Setup, and deleted all the Virtual Devices. From within the Titanium Developer environment, launched the emulator - and in spite of several errors, the emulator eventually came up. Then with the emulator up, I hit the launch button again, and the app came up. There was a error with the emulator that put up an alert offering a single "Force Close" that I left up. Eventually the app came up behind the alert, and once I clicked on "Force Close" the app remained up.
Not pretty, and makes me think harder about other platforms, or developing on a different OS. If it gets easier after this, or I figure out what the secret is, I'll update this.
-
I got bitten by this too - KitchenSink doesn't build for Android on Windows x64 - which is odd seeing as surely Q&A would test this scenario before any release.
Why isn't the memory limit set according to system physical memory rather than some arbitrary fixed limit? In python it's extremely easy to pull current free memory.
Anyway the fix works as advertised, and thanks to the posters above for posting it.
Niall
-
Same problem for me on Windows 7 64 bit. This fix worked. Thanks.