Create Android app release mode
I want to create my Android app in release mode. I did the suggested Export from Eclipse. Android tools -> Export Unassigned ( then signed it aligned it etc ) I though the export would give me release mode app. I checked on disk and the .apk is just the same size as the one I get when I normally compile in Eclipse.
Further I installed it in the emulator by >adb install myapp.apk then I tried to attach to the application in the Eclipse debugger and sure enough it hit my breakpoint. So I’m convinced I have indeed a debug version. The question is how can I create release mode version of my application from Eclipse before signing and submitting to the market place ?
If I log it the debuggable flag is off when exported, as well when running from Eclipse. Unless I explicitly set it to true in the Manifest application section. It seems the debug / release mode is just a flag on / off. Doesn’t do anything more than that, I can set breakpoints and debug both versions. The resulting .apk is the same size.
cxLog.e( "TOKEN", " Debuggable=" + (( context.getPackageManager().getApplicationInfo( comp.getPackageName(), 0 ).flags &= ApplicationInfo.FLAG_DEBUGGABLE ) != 0 ) );
10-28 14:46:12.479: ERROR/TOKEN(1856): Debuggable=false
3 Solutions collect form web for “Create Android app release mode”
The question is how can I create release mode version of my application from Eclipse
Check this out : Compile the application in the release mode
Android Tools > Export Unsigned Application Package
Support for a true debug build. Developers no longer need to add the android:debuggable attribute to the tag in the manifest — the build tools add the attribute automatically. In Eclipse/ADT, all incremental builds are assumed to be debug builds, so the tools insert android:debuggable=”true”. When exporting a signed release build, the tools do not add the attribute. In Ant, a ant debug command automatically inserts the android:debuggable=”true” attribute, while ant release does not. If android:debuggable=”true” is manually set, then ant release will actually do a debug build, rather than a release build.
If you want ot SIGNED IN and ZIP ALIGNED your app in released mode so that it could distribute and can upload at Google play store, then just follow the below steps.
--> Right click on project --> Android Tools --> Export Unassigned app and save in directory like D:\Sdcard.apk //Now open your windows terminal, CMD --> change directory to the bin of the jave like --> cd c:\ProgramFiles\JAVA\JDK\bin
Now this is time to create Keystore Released File…
now write these commands in the TERMINAL,
keytool -genkey -v -keystore my-release-key.keystore -keyalg RSA -keysize 2048 -validity 14600
This will propmt for Keystore “password” and for Key “password”, so type different password and answer to the question it will ask later.
Now my-release-key.keystore file will be generated in directory where your “bin” folder of java are, like in my sytstem it will be like
write this command in Terminal for Signed in the app
jarsigner -verbose -keystore my-release-key.keystore D:\Sdcard.apk mykey
Now redirect your terminal to the Zipalign.exe file which is located in Android sdk 21\tool\ , like in my system i did that
cd F:\Softwares\LANGUAGES SOFTEARE\Android Setup\android-sdk-21 version\tools
//after that put the below line in the terminal
zipalign -v 4 D:\Sdcard.apk newSdcard.apk
Congratulates…! now you will find newSdcard.apk file inside the Android sdk\tool, Now upload it to play store, and remember me with love.
On current versions of the Android SDK, just right-click the project, Android Tools > Export Signed Application Package, and select your keystore