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
Create a Signed APK FileCreate the project in Android Studio. Select Build > Signed Bundle/APK from the toolbar menu. Configure the settings for your APK file and possibly create a new key store and key.
To generate a release build of your programSelect Release from the Solution Configuration drop-down list, which is on the Standard toolbar. On the Build menu, click Build.
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 to SIGNED IN and ZIP ALIGNED your app in release mode so that it could distribute and can be uplodated to the 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
c:\ProgramFiles\JAVA\JDK\bin\ my-release-key.keystore
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
Congratulations! - Now you will find a newSdcard.apk
file inside the Android sdk\tool, Now upload it to play store, and remember me with love. 💖
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With