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 Solar2D, 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 Solar2D 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.

  • Make sure that your Android device is enabled as a development device.

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

  2. Select FileBuildAndroid....

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

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

    • After Build — select which action should be performed after the app is successfully built.

    • Create Live Build — check this box to create a live build for lightning-fast testing. See Generating Live Builds for details.

  4. Click Build and Solar2D will compile the app into a standard .apk file.

Signing for Debug Build

For debug builds, Solar2D 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 Solar2D SDK application folder:

Windows — C:\Program Files (x86)\Corona Labs\Corona\Resources\debug.keystore

macOS — /Applications/Corona/Resources/Resource Library/Android/debug.keystore

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

  2. 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 follow these simple steps:

  1. Open the Command Prompt in Windows or the Terminal in macOS. 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 -deststoretype JKS

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

Device Installation

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

Copy to Device

If you're using the Solar2D Simulator for macOS, you can copy the app directly to a connected device. This feature is not supported on Windows.

  1. Connect your device.

  2. Follow the steps outlined in Build Process above, ensuring that you select Copy to device and launch for the After Build option.

Android SDK

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

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.

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 macOS Terminal or from the Windows Command Prompt. A GUI tool called monitor is also installed; it can be used to examine the log file and capture screen shots from your device.

For more details on Android debugging, see the Debugging Guide.