Wednesday, February 8, 2012

Porting android apps to the Playbook

Last night I tried to port two android applications I have in the Android market to the Playbook. This is my experience so far.

With the Playbook and BB10 supporting the Java Android Runtime, RIM opened the door to android developers. You can basically repack your android app to work inside the Playbook and BB10 powered devices.

After installing the Eclipse plugin and started working to get this done.

Super simple app
My first app to repack was a simple sound bank app called TanoPasman.
I opened the project in Eclipse,

Right click on the project => Blackberry tools => Add Blackberry Nature to the project.
Right click on the project => Run as... => Blackberry Android Launch.
That's it. First application repacked!

More complex app
The second app I repacked was a bit more complex.
It's called EstadoDelTransito and it's a traffic status application for Buenos Aires, Argentina.
Source code is available here.

I did the same process but this time it failed. Google maps are not allowed.
What!? Which are the limitations again?

Here's the full list.
Inside that we can read:

The following Java software packages:
Vending (In App Payments): com.android.vending
Cloud To Device Messaging (Push): com.google.android.c2dm
Google Maps: com.google.android.maps
Text to Speech: com.google.tts

I ended up removing the google maps dependency and every call to the map library.
After up the launched without any issue but another problem appeared. ACTION_SEND is not supported :(

Looking for alternatives
Honestly I was quite pissed that I couldn't use maps inside the Playbook.
A traffic status application without a map sounds kind of lame. That's when I remember an open source project for maps existed, osmdroid.
I didn't port EstadoDelTransito code to that yet but I did test it out with an app called bikeroute and it did work!

Here you can see a screenshot:



Big thanks to Bryan Tafel and Mariano KIWO Carrizo who help me testing this apps in their Playbook.

Interesting facts
Becoming a Vendor
I tried to become a vendor on October. The confirmation mail never arrived.
I ended up registering with some other email three days ago. I will see what happens.

You just need the apk
The funny thing about repacking is that you don't need the source code!
If you get an apk, you just need to get the command line tools and you are ready to upload someone else work as your own! I don't know how RIM is dealing with that but it's kind of scary.

Admob?
Both of my apps use Admob. No ads were shown while running in the Playbook.
I am not sure how I am supposed to port that.

Free Playbook!
RIM provide one free 16GB BlackBerry PlayBook tablet to every registered BlackBerry App World™ vendor who converts their Android app for use on the BlackBerry PlayBook tablet and submits it to BlackBerry App World between February 2, 2012 and February 13, 2012. Link.

Conclusion
I am quite sourprised how easy it was to port an android application to Playbook.
I hope I can get a Playbook so I can start testing some stuff.
I can think of:
  • Testing cocos2d-x with the native SDK. (It was ported by RIM themselves!)
  • Finding out if it's possible to mix an HTML5 with Android
  • Looking for a way to support admob.
If you have an android application in the market, port it. There is no excuse.

2 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. Porting android apps to the Playbook is the well featured apps which enable many function and binded with the powerful feature for making your work too accurate and awesome. So that you can easily got your thing which you want.

    mobile signal booster

    ReplyDelete