Rebuild: Porting to the PlayBook via Adobe AIR and FlashDevelop


Posted by Sarah Northway | Posted in Development, technical | Posted on 11-03-2012


Pugs Luv Beats

I helped demo IGF nominees Faraway and the very musical Pugs Luv Beats.

Last week was my first GDC as an indie developer, and hoh boy were those goodtimes!

I helped Colin present in a talk about failure (Incredipede was the happy ending), and co-demoed Steph Thirion’s game Faraway in the Independent Games Festival. During the awards ceremony they gave us all BlackBerry PlayBooks, so I now have little excuse not to port Rebuild to it.

I sat down to get it running today and spent far too long stepping through RiM’s convoluted developer security setup, which took me even longer than Apple’s similarly obtuse system. There are several tutorials out there but some were out of date or assume you have Flash Builder (I use FlashDevelop). So as of March 2012, here’s what you do to get your SWF running as an app on your PlayBook:

Step 1: Request a CSJ code signing key from (takes a couple hours).

Step 2: Get the Flex SDK, AIR SDK, and BlackBerry AIR SDK. I had trouble with Flex4.6 + Air3.2 so I used Flex4.5 with Air 3.1.

Step 3: Start dev mode on your PlayBook in Options > Security > Development Mode.

Step 4: Edit & execute the following to install the debug token on your PlayBook (ten steps and five different passwords, seriously?):

@echo off

:: BlackBerry development token 
:: More information:

:: Path to Blackberry SDK
set PATH=%PATH%;C:\Program Files (x86)\Research in Motion\blackberry-tablet-sdk-2.0.0\bin

:: Path to Java
set PATH=%PATH%;C:\Program Files (x86)\Java\jre6\bin

echo First get CSJ from
echo And start dev mode on PlayBook in Options > Security > Development Mode

:: begin setup
call blackberry-signer -csksetup -cskpass [YOUR_PASSWORD]

:: register CSJ locally
call blackberry-signer -register -csjpin [YOUR_PASSWORD] -cskpass [YOUR_PASSWORD] client-PBDT-[XXXXXXXXXX].csj

:: create p12 file
call blackberry-keytool -genkeypair -keystore author.p12 -storepass [YOUR_PASSWORD] -dname "cn=YOUR_NAME" -alias author

:: register device against CSJ
call blackberry-debugtokenrequest -register -csjpin [YOUR_DEVICE_ID] -storepass [YOUR_PASSWORD] client-PBDT-[XXXXXXXXXX].csj

:: later calls expect the p12 here for some reason
call copy author.p12 "C:\Users\USER_NAME\AppData\Local\Research In Motion\author.p12"

:: create the debug token BAR
call blackberry-debugtokenrequest -storepass [YOUR_PASSWORD] -devicepin [YOUR_DEVICE_ID]

:: sign bar with RIM (remote)
call blackberry-signer -verbose -cskpass [YOUR_PASSWORD] -keystore author.p12 -storepass [YOUR_PASSWORD] PBDT

:: sign bar with developer (local)
call blackberry-signer -keystore author.p12 -storepass [YOUR_PASSWORD] author

:: upload debug token to playbook (must be running in debug mode at this address & password)
call blackberry-deploy -installDebugToken -device [DEVICE_IP_ADDRESS] -password [YOUR_PASSWORD]

:: echo important metadata
echo Add the following authorId to bar-descriptor.xml
call blackberry-airpackager -listManifest


Step 5: Download this FlashDevelop project adapted from Studio Chris’ BlackBerry template, and edit airplaybook.as3proj and airplaybookConfig.xml to point to your SDK locations.

Step 6: From FlashDevelop, hit F5 to build your SWF and test it locally using ADL.

Step 7: Edit & execute the following to package and install the app:

@echo off
:: AIR application packaging
:: More information:

:: Path to Flex + AIR SDK
set PATH=%PATH%;C:\Program Files (x86)\Adobe\Flex451AIR31\bin

:: Path to Blackberry
set PATH=%PATH%;C:\Program Files (x86)\Research in Motion\blackberry-tablet-sdk-2.0.0\bin

:: Path to Java
set PATH=%PATH%;C:\Program Files (x86)\Java\jre6\bin

:: package swf and assets into a bar then install to device and run the app
call blackberry-airpackager -package -installApp -launchApp application.xml bar-descriptor.xml airplaybook.swf blackberry-tablet-icon.png landscape-splash.png portrait-splash.png -devMode -device [YOUR_DEVICE_IP] -password [YOUR_PASSWORD]


If all goes well, you should see (a red square on a black background) appear on your BlackBerry. Chances are good that some parts of the debug token installation aren’t necessary but it got the job done.

Rebuild actually ran the first time, and quite well which was an unexpected surprise. Now I need to adjust the fonts and aspect ratio, then go through what promises to be another certification nightmare to package it for sale in the BlackBerry App World. It’ll probably take two or three days total, so no great loss if it bombs.

Rebuild should be out for the PlayBook by the end of the month!


flattr this!

Comments (29)

Or in fact, MUCH sooner – it’s available now in the PlayBook App World!

it will probably make more money with price 1.99 or even 0.99

No its not! Its common misunderstanding. Read more about this and stop writhing this kind on nonsense. Sorry.

[...] To read more about how the Porting went you can Read about it here. Did you like this? Share it:Tweet March 20th, 2012 | Tags: Air, bb playbook, blackberry, developer, Game, PlayBook, rebuild, RIM, tablet | Category: Developers, Uncategorized | Leave a comment [...]

Hi Sarah,

Alex from RIM here. I just bough Rebuild this is exactly what I need to keep me going now that “The Walking Dead” is done for a while.

Great to see that you put the PlayBook to great use after GDC – we’re excited to see what other games you can bring to the platform.

In regards to the issues you had with setting up the tools – here’s a post you might for useful for next time – or for other game developers getting started with BlackBerry PlayBook –

Have a great day!

Alex, RIM Social Team

[...] of this is so awesome, because the port took zero effort… and I’m rather fond of my new [...]

Hey, thanks a lot for this, it saved me tons of time.

The only comment is that the project won’t compile because the id in application.xml has spaces (“Playbook Air Example”).
It’d be great to correct that (just changed it to “PlaybookAirExample”) to avoid complicating an already troublesome task.

Thanks a lot!

I blog often and I genuinely thank you for your content.
This article has really peaked my interest. I will bookmark your site and keep checking for new details about once a
week. I opted in for your RSS feed too.

Whoa! This blog looks exactly like my old one!
It’s on a completely different subject but it has pretty much the same page layout and design. Excellent choice of colors!

Incredible! This blog looks just like my old one! It’s on a completely different subject but it has pretty much the same layout and design. Excellent choice of colors!

Also visit my weblog: Drug Abuse Intervention (

You may notice that the concept of compensation plan may
seem to be common in the networking industry. He knew
the system well enough to not pay many of his suppliers and sub-contractors,
then would cover it up up by handing out fake lien releases to make it look
like they were paid. You wont get a true imitation of your signature
with this Android app, unless you can cleverly manipulate the
mechanics behind its operation, but that is highly unlikely.

Cheers to your PROFITmatic Turnkey Automated Internet Profit
Center,. Wouldn’t it be easier if we could be able to save changes ourselves whenever we want. Once safely at Thebes, though, the obelisks were brought to the temple at Karnak with much fanfare.

All they need to do is to enroll with their name, email, contact number and country and
vemmabuilder will cater to the particular country of the person.
It’s a good idea to have separate email promotions for prospects and customers, too, because you typically need to send different information to the different groups. You can make corrections directly instead of having to search mistake through the code, if something does not seem OK for you.

So, what you think might be the technicality
hidden inside the making of these forms. Joomla has thousands of templates and add-ons that
are available for free, as well as several professional
resources available for purchase from third party developers.
It is the perfect way for the visitors to join the email club of website or visitors can easily subscribe for company’s monthly newsletters.

You may notice that the concept of compensation plan may seem to be common in the networking industry.
It’s easy to use a fake IP address on i – Phone and i – Pad, but you need to know what you need the fake IP for. You wont get a true imitation of your signature with this Android app, unless you can cleverly manipulate the mechanics behind its operation, but that is highly unlikely.

I loved as much as you’ll receive carried out right here.
The sketch is attractive, your authored subject
matter stylish. nonetheless, you command get bought an shakiness over that you wish be delivering the
following. unwell unquestionably come further formerly again since exactly the same nearly a
lot often inside case you shield this increase.

Undeniably believe that which you stated. Your favourite reason appeared to be on the web the simplest factor to take into accout of.
I say to you, I definitely get irked while folks think about worries that they just don’t realize about.
You controlled to hit the nail upon the top and also outlined out the entire thing with
no need side-effects , people could take a signal. Will likely be again to get more.

Feel free to surf to my web site luminaire pour cuisine

I just couldn’t depart your site before suggesting that I extremely enjoyed the
standard information an individual supply for your visitors?

Is going to be again often in order to inspect new posts

My weblog – achat litecoin

This design is incredible! You most certainly know how to keep a reader amused.
Between your wit and your videos, I was almost
moved to start my own blog (well, almost…HaHa!) Excellent job.

I really enjoyed what you had to say, and more than that,
how you presented it. Too cool!

Also visit my website; lissage cheveux homme

When you want to create baking recipes of your own, but you don’t know
too much about which ingredients to use, you should buy a cookbook and then modify recipes to make them
your own. If the idea of eating a plain banana doesn’t
thrill you, there are more fun and tasty ways you can add
bananas to your diet. Every good food and liquid contains some important nutrition like proteins,
carbohydrate, fats, some vitamins, minerals and

My web-site: banana bread recipe healthy & moist

I could not refrain from commenting. Very well written!

Also visit my blog post :: slut

Regardez dépourvu mieux patienter l’excellente limonadier senseo de manière à activement
votre cuisine plus mieux loyer portant sur la toile.

Take a look at my website cafetiere expresso

Découvrez le lissage keratine sur la toile

My web site lissage bresilien keratine

De quelle manière acheter bitcoin anonymement sur la toile facilement

Comment se procurer du bitcoin anonymement
via le net en 5 minutes

my homepage :: acheter litecoin

If some one desires expert view regarding blogging and site-building then
i propose him/her to go to see this blog, Keep up the good work.

Feel free to surf to my homepage … salon de jardin resine maison

They may prescribe you colchicine, a drug proven to lessen
the severity of gout attacks, or if taken daily, may prevent them all
together. Can top with a few raisins or berries for a yummy healthy snack.
But if you are health conscious or dieting, a low calorie dinner recipe is just what you
need to end your day in a healthy way.

Feel free to visit my web page :: simple healthy broccoli recipes

you are in point of fact a excellent webmaster. The
site loading velocity is amazing. It sort of feels that you are doing any distinctive trick.
Also, The contents are masterpiece. you have done a magnificent job on this topic!

Review my web page :: bum

That is really attention-grabbing, You are an overly skilled blogger.
I’ve joined your feed and look forward to seeking more of your wonderful post.
Additionally, I have shared your website in my social networks

my page; achat litecoin

Write a comment