Monday, 10 October 2011

Howto buildAndroidapplication package(.apk)from thecommand lineusing theSDKtools+ continuouslyintegrated using CruiseControl.

Hello all android developers, I just want to share my experience building android apk manually using sdk tools without using Eclipse. My original goal is motivated firstly by the desire to incorporate continuous integration aspect to Android development process and secondly to ditch the ADT eclipse plugin since the plugin auto-build process blocks Eclipse UI if you have large resources, assets in your Android project, and a slow computer like mine. I am using CruiseControl as my continuous integration tool.

Below is one of the many apk build processes:

Build process

The good thing about building manually your apk is that you don’t have to name your resources directory to res, you can name it anything you want.

You can find ant scripts in: \platforms\android-1.5\templates\android-rules.xml

Step 1: Generate Resource java code and packaged Resources aapt package -f -M ${manifest.file} -F ${packaged.resource.file} -I ${path.to.android-jar.library} -S ${android-resource-directory} [-m -J ${folder.to.output.the.R.java}]

Step 2: Compile java source codes + R.java use javac

Step 3: Convert classes to Dalvik bytecodes use dx.bat dx.bat –dex –output=${output.dex.file} ${compiled.classes.directory} ${jar files..}

Step 4: Create unsigned APK use apkbuilder

apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file}

or

apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file} -rf ${source.dir} -rj ${libraries.dir}

-rf = resources required for compiled source files? -rj = resources required for jar files

Step 6: Generate a key use keytool

Step 7: Sign APK use jarsigner

jarsigner -keystore ${keystore} -storepass ${keystore.password} -keypass ${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias}

Step 8: Publish use adb adb -d install -r ${signed.apk}

Inspecting your APK file:

aapt list -v latest.apk
Published with Blogger-droid v1.7.4

No comments:

Post a Comment

 

My Blog List

Followers

Recommended Gadget

ALL IN ONE BLOG Copyright © 2009 Gadget Blog is Designed by Ipietoon Sponsored by Online Business Journal