Crash Reports with Acra

I instrumented Newton with the acra library today. Acra registers an UncaughtExceptionHandler (which is also available in desktop Java) and everytime your application crashes bad on a user’s device it send an error report with information such as android version, phone model plus stacktrace to a Google spreadsheet you set up for that purpose. The steps to include this in your application are totally easy:

  • Create the Google spreadsheet as lined out in Arca’s Wiki
  • Create a class that extends CrashReportApplication and implement the getFormId() Method, returning the form id you got from your spreadsheet
  • add android:name=”YourCrashReportApplicationClass” to your AndroidManifest.xml file
  • Crash Reports!

I especially like the solution of using Google spreadsheets for this kind of crash reporting. It also works on devices < 2.2 (down to 1.5) which is a definite plus. Finally you can add your own reports besides standard crash reports at any point in your application. With this feature you could for example log the average FPS of your game. I used the standard crash reporting facilities of Acra and behold i got crash reports!
java.lang.NullPointerException
at at.knowcenter.pfx.gui.widgets.Label.dispose(Label.java:60)
at at.knowcenter.pfx.gui.Gui.removeWidgets(Gui.java:170)
at at.knowcenter.pfx.gui.Gui.render(Gui.java:136)
at com.badlogic.newton.game.MainMenu.render(MainMenu.java:167)
at com.badlogic.newton.game.Game.render(Game.java:126)
at at.knowcenter.pfx.backends.opengles.OpenGLESApplication.onDrawFrame(OpenGLESApplication.java:317)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:955)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:887)

Now that is nasty. Gui widgets in Newton are initialized in a lazy fashion. If the user is fast enough i try to dispose something which has not been initialized yet.

I hereby fully recommend the use of Acra in your application! The code is solid and doesn’t do anything nasty (e.g. send your stats to a 3rd party).

QR Codes: Tweet and Marketplace

Behold, the QR codes:

Tim made this, it’s kinda magic, i have no idea how he did it. That’s what tim says about them: They will open up your browser and try to Tweet a link to Badlogic. If you enjoy the site please share =)


And these two will show you all games by Badlogic. Share!

Thanks Tim, those codes are awesome!

Newton is finally out

Today i released Newton, the paid version as well as updated the Lite version to be ad supported. I included all 27 levels Stefanie did in the lite version plus the editor and level sharing capabilities. The full version has no ads and features another 47 levels by Tim. The full version is 0.99€ on the market, i think it’s a very fair price. Given that we added the full feature set to the lite version too i think we can’t do more for our players. I’m curious how this works out. Thanks for your support and patience.

Update: we already have 2 sales! Awesome, thanks to you two guys.

And this is awesome too:

“It feels a little cheap”, that’s how we roll!

Update 2: half a day has passed by and we have 27 sales. Thanks a bunch to you people out there. On the other hand we also have nice comments on the free version:


“Only more ads with update”
“Update is just ADS. DO NOT UPDATE.”

Awesome, i guess a map editor, map sharing and 27 new levels in the LITE version are not enough for some folks. Well, can’t make everyone happy…

Update 3: 32 sales in 24 hours. That’s a lot more than i expected. Also, only 2 people did cancel their order. Would have thought that rate would be higher. Cool, we won’t get rich though 🙂