Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 ?

Edit

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

like image 485
Orn Kristjansson Avatar asked Oct 28 '11 01:10

Orn Kristjansson


People also ask

How do you generate a release APK?

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.

How do I make a release build?

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.


2 Answers

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.

like image 120
Reno Avatar answered Oct 23 '22 06:10

Reno


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. 💖

like image 20
Pir Fahim Shah Avatar answered Oct 23 '22 06:10

Pir Fahim Shah