On Android developer's page (http://developer.android.com/guide/publishing/app-signing.html) there is a tutorial on publishing which says that an app has to be compiled as an unsigned app, a private key must be generated with keytool
then signed with jarsigner
.
How do we create an unsigned app with IntelliJ?
Alternatively, can we do all these steps via Tools->Android->Export Signed Android Package
?
Thanks in advance!
New IDEA versions have an option to generate unsigned APK in the Android Facet settings, Compiler tab:
However you don't need to do that if you use the Export Signed Android Package feature:
Tools | Android | Export Signed Android Package
will generate the release version of your application signed with the release key and ready for Market.You can also create a batch file that will sign the unsigned APK and configure it as an
External Tool
in IDEA so that you can generate it in one click or via keyboard shortcut (if you are OK with a batch file containing your keystore passwords in open text).I use such script to generate the signed APK, upload it to a phone and start the main Activity to perform application testing, it has the following sequence of actions:
jarsigner
zipalign
adb install
adb start
EDIT 2013/2/8: The option to export a Signed APK is now under
Top Menu > Build > Generate Signed APK
(IntelliJ IDEA 12)IDEA 12 has even better way to do it via artifact, configured like this:
Then use
Build
| Build Artifacts when you need to make a release version.Well you could modify the ant scripts slightly and have one target which builds a final signed APK. So that technically could be a one click build. Not sure about publishing, you may be restricted to using the web interface to upload and publish the app.
I wrote a tutorial on publish, it might be worth a read as I cover some of the building final releases and such