Installing and Compiling Ant

Jun 17, 2011   //   by J.Boston   //   Android, Portfolio  //  1 Comment

Taken directly from:

https://forum.processing.org/#Topic/25080000000521009

The process of exporting from .pde to .apk may look like a herculean task especially for beginners such as me. I spent a good amount of time researching this stuff and finally nailed it down. So here goes,

If you have the app you built in processing running on your phone the you probably have all the environment variables set in the PATH. Oh I am using windows 7 and processing 0190 build. To begin with make sure you have keytool, jarsigner, ant etc. commands working from your command prompt. If not then install them, just google for those packages.

You will require OpenSSL as well required to generate your secret key for the application. Installing this is slightly tricky but the easiest way is to install Cygwin and during the installation you can choose to install OpenSSL. After this you will mostly be set to create your .apk.

Step 1: Hit the Export button on Processing’s IDE

Step 2: Goto the /android folder and you will see bin, lib, res etc. (i could not find an apk file kind of freaked out the first time but not to worry all the files needed for creating the .apk are in here)

Step 3: Open command prompt and get to your /android folder

Step 4: Type the following command to generate your secret key that will be required for signing your application:

C:\Desktop\<sketchname>\android> keytool -genkey -v -keystore <sktechname>-release-key.keystore -alias <your name or anything> -keyalg RSA -keysize 2048 -validity 10000

It will then ask you the following questions:

 

Enter keystore password:

Re-enter new password:

What is your first and last name?

[Unknown]:

What is the name of your organizational unit?

[Unknown]:

What is the name of your organization?

[Unknown]:

What is the name of your City or Locality?

[Unknown]:

 

What is the name of your State or Province?

[Unknown]:

What is the two-letter country code for this unit?

[Unknown]:

Is CN=name , OU=name, O=name, L=blah, ST=PA, C=US correct?

[no]: yes

Generating 2,048 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 10,000 days

for: CN=name, OU=name, O=name, L=blah, ST=PA, C=US

Enter key password for <your alias>

(RETURN if same as keystore password):

Re-enter new password:

[Storing <appname>-release-key.keystore]
————————————————————

This creates a <appname>-release-key.keystore file in your /android folder.
——————————————————————————————————————

Step 5:  Now we create the .apk file which is unsigned. So type in the following:

 

 

C:\Desktop\<appname>\android>ant release

……………..
……………..

BUILD SUCCESSFUL

Total time: 12 seconds

—————————————–

You should get this in your console if the build is successful.
———————————————————————————————————————–

Step 6: You can now see in your bin folder the .apk file named as <appname>-unsigned.apk  (Yay!)

Step 7: Now you will need to sign this with your secret key in order to release it on the android market. So here goes, (you can choose to copy the keystore file into your bin folder and execute the following command (too lazy to type too many characters) or keep it where it is.

 

 

C:\Desktop\<sketchname>\android>jarsigner -verbose -keystore <appname>-release-key.keystore c:\Desktop\<sketchname>\android\<appname>-unsigned.apk <your alias>

 

Then you will get a bunch of statements such as

 

Enter Passphrase for keystore:

adding: META-INF/MANIFEST.MF

adding: META-INF/ALIAS.SF

adding: META-INF/ALIAS.RSA

……………
………….

 

signing: assets/ComicSansMS-25.vlw

signing: assets/CurlzMT-150.vlw

signing: assets/SegoePrint-60.vlw

signing: res/drawable/icon.png

signing: res/layout/main.xml

signing: AndroidManifest.xml

signing: resources.arsc

signing: res/drawable-hdpi/icon.png

signing: classes.dex
——————————————-—————

Step 7: We are almost done! So we need to verify the previous step i.e. we need to make sure that jarsigner has signed the app correctly.
So execute the following:

 

 

C:\Desktop\<sketchname>\android>jarsigner -verify c:\Desktop\<sketchname>\android\<appname>-unsigned.apk

jar verified.

You should get JAR VERIFIED else something maybe wrong.

Step 8: Now to create your signed and distributable .apk file

 

 

C:\Desktop\<appname>\android>zipalign -v 4 c:\Desktop\<appname>\android\<appname>-unsigned.apk <new appname>.apk

Verifying alignment of <appname>.apk (4)…

50 META-INF/MANIFEST.MF (OK – compressed)

973 META-INF/ALIAS.SF (OK – compressed)

1958 META-INF/ALIAS.RSA (OK – compressed)

3094 assets/ComicSansMS-25.vlw (OK – compressed)

23456 assets/CurlzMT-150.vlw (OK – compressed)

205025 assets/SegoePrint-60.vlw (OK – compressed)

………
……….

 

7002884 res/drawable/icon.png (OK)

7005452 res/layout/main.xml (OK – compressed)

7005745 AndroidManifest.xml (OK – compressed)

7006548 resources.arsc (OK)

7007504 res/drawable-hdpi/icon.png (OK)

7011152 classes.dex (OK – compressed)

Verification succesful
Hurray we are all set. Now you can happily distribute you android app built using processing to your friends! You may not able to run it on Samsung Captivate unrooted phone as it does not permit non-market app installation (ofcourse they can install it once you release it to market) Hate that X-|

I hope this helps as I have learned a lot in the last few weeks and soon I should be releasing a game in the market :) so wait for it.

1 Comment

  • It works cheers

Leave a comment

You must be logged in to post a comment.

Get In touch!

contact@jaboston.com
Add me on LinkedIn
Check out my Illustrations

Long cat