Signing and Building — Android

This guide explains how to sign, build, and test your app on Android devices.

Notes

Java Package Name

When you build an Android app using Corona, you must specify a package name. In general, you can specify any package name you like, but it must be chosen carefully because it should be unique to your application.

The traditional Java scheme is to use the reverse-domain format like com.acme, then append the name of a division/product, and finally append the name of the app. For example, com.acme.games.catchafish would be a good package name, assuming you own the acme.com domain name.

In some cases, the package name that results from using reverse-domain format may not be valid, and it must be modified before Corona will build your Android app. This would be true in any of the following cases:

Build Process

Important

If you aren't familiar with the available build settings for an app, please review them before proceeding with this section.

  1. From the Corona Simulator, select FileOpen... to load the project you wish to build.

  2. Select FileBuildAndroid....

  1. Fill in the information:

    Application name — by default, this will match your project folder; keep this name or specify another.

    Version Code — this value must be an integer. Each time you update your app, you must increase the Version Code. It corresponds to the versionCode item detailed here. It is not visible to users.

    Version Name — specify a version name for your app.

    Package — see Java Package Name above.

    Minimum SDK VersionAndroid 2.3.3 is available at this time.

    Target App Store — select Google Play from the pull-down list.

    Keystore / Key Alias — in order to build for Android devices, you must digitally sign your app using a keystore. Please refer to either Signing for Debug Build or Signing for Release Build below.

    Save to folder — specify where to save the compiled app.

  2. Click Build and Corona will compile the app into a standard .apk file.

Signing for Debug Build

For debug builds, Corona includes a debug.keystore for testing your app on devices. To use it, follow these steps:

  1. Select Debug from the Keystore menu.

  2. Directly to the right, Browse... to the keystore file in the Corona SDK application folder:

    CoronaSDK / Resource Library / Android / debug.keystore

  3. Select the file and enter android as the password.

  4. In the Key Alias menu, select androiddebugkey.

Signing for Release Build

For release builds, you must sign with your private key. You can generate this key using the command line program Keytool. Please review the Android documentation here or follow these simple steps:

  1. Open the Command Prompt (Run/Cmd) in Windows or the Terminal in Mac OS X. Once there, use the cd command to change to the directory where you'll keep your keystores.

  2. Type the following command at the prompt, replacing mykeystore with the name of your application and aliasname with a similar or equal alias name.

    keytool -genkey -v -keystore mykeystore.keystore -alias aliasname -keyalg RSA -validity 999999

  3. You'll be prompted for your credentials. Supply the requested information and tap enter to sign your Android app.

Device Installation

There are three methods to install an app on an Android device. You can not simply copy the .apk file over to the device.

  1. Android SDK

    If you have already installed the Android SDK, use adb install -r your-app.apk.

  2. Web Server

    Upload the .apk to a web server. Next, point your Android device's web browser to the file's URL to download the app to the device. Finally, click on the file in the Download History to install it.

    If this method fails, and the application downloads as a text file, you may need to add the following configuration line to a .htaccess file in the application's directory on the web server:

    AddType application/vnd.android.package-archive .apk

    Also, you should set your device to install non-Market applications if you are using debug.keystore. Click the Settings icon on the device, select Applications, then check the box next to Unknown Sources.

  3. App Installer

    Obtain an app installer from Google Play to assist with the process.

Debugging

Google's Android SDK provides a set of tools known as Android Debug Bridge or adb. These tools let you look at the device's console log, install, and replace existing apps on your device. You can execute the adb command from the Mac's Terminal or from Window's Command Prompt. A GUI tool known as ddms is also installed; it can be used to examine the log file and capture screen shots from your device.

These tools are installed as part of the Android SDK. Simply follow these steps:

  1. Download — visit the download page. Instead of clicking the large download button, click on the DOWNLOAD FOR OTHER PLATFORMS link. In the second menu (SDK Tools Only) select the correct option for your computer.

  2. Install — on Windows, run the installer; on Mac, unzip the file and move the folder to a sensible location.

  3. Add Tools — follow the instructions for Adding Platforms and Packages. Install at least the Android SDK Tools and Android SDK platform-tools.