Using an Android Device

Overview

This document describes the Appception IDE tools (and related ABug utility app) that may be used to build, deploy / run, debug, and test apps on Android devices.

The tools operate with wireless connections and do not require a USB cable.

Build

There are type types of device builds: Debug and Release.

Debug Build

A Debug build is used for testing and debugging an app.

It contains extra information, instrumentation, and access to tools not present in a Release build. A Debug build is larger (and may be slower) than a Release build, and so should not be relied upon to provide accurate app performance data.

To create a Debug build for an app:

The Build window displays information about the build.

Note: Debug->Device->Go (or Debug->Device) do incremental builds

Debug app build

Release Build

To build an app for distribution or release, it is first necessary to create a Certificate which can be used to sign the app (Debug builds are automatically signed with a default debug certificate by the system).

Once the certificate has been created, click Run->Device, enter the keystore password, and click Go.

Signed release build

Note: if a valid certificate is not found, a Build will appear to be successful, but the signature will be invalid as shown under "*** SIGNING ***' as follows:

Building a release

Deploy / Run [Debug builds]

To deploy an app created with a Debug build, use one of the following:

Installing non-Market Apps

When deploying Debug builds, the Android device must first be setup to allow non-Market apps to be installed.

To do so, access Settings->Applications on the device, and then select the 'Unknown sources' checkbox:

Allowing non-Market Applications on a Device

Deploy with QR Code Reader App

To use a QR code reader app to deploy your app:

Deploy with Mobile Web Browser

To deploy your app using a mobile web browser:

Deploy with ABug app

To deploy your app using ABug, follow the ABug Installation directions. Note that ABug may be used to automatically or to manually deploy apps.

Install App

When installing your app, the device will display a screen like this:

Installing App on a Device

To install the app, press 'Install'.

Run App

To run the app, press the app icon shown on the app screen of the Android device.

The sample app will display a screen like the following:

Running App on a Mobile Device

Debug

Once your app is running on the device, a set of debug tools can be used to examine it, and the general device operation.

weinre

The Debug build of apps supports the weinre inspector.

To use it, select Appception IDE Tools->Debugger.

Appception IDE app debugger

This creates a window containing the weinre inspector. Weinre connects to the Appception IDE allowing debugging of a wirelessly connected device. Note that the device must have Internet connectivity in order to communicate with weinre.

Once connection has been established, you're able to view the HTML elements, the resources, the timeline and issue JavaScript commands via the console.

Appception IDE weinre inspector window

To view the HTML and CSS of the app, select the Elements tab.

The HTML and CSS of the app can be changed by selecting various elements and entering new values. This enables small changes to be made to a running app without rebuilding or reinstallation.

Debugging an App with weinre

To view a JavaScript console, select the Console tab.

JavaScript expressions may be entered at the Console window command prompt, and these will be executed by the app.

Appception IDE weinre inspector window

Other Tools

Use of other debug and testing tools requires the ABug app to be installed.

 

 

Appendix A: Certificates

Creating a Certificate

A signing certificate must be used to to distribute apps on the Android Market.

To create a certificate, use Tools->App Signing Keys:

Create signing certificate

A certificate may be created from the following information:

A certificate must also be secured with a password.

Fill in all of the certificate form fields, scroll down, and click Create

Note: it is recommended that punctuation characters be avoided in the certificate fields.

Create signing certificate

Viewing a Certificate

To show a Certificate, select the View tab. Then enter the Certificate password and click View.

To download a Certificate, select the View tab. Then enter the Certificate password and click Download.

Deleting a Certificate

To remove a Certificate, select the Delete tab and click Delete.

 

 

Appendix B: ABug

ABug Utility App

The Appception IDE is integrated with an Android app named ABug.

ABug interfaces with Appception IDE accounts to provide useful and easily accessible functions that help streamline development and testing using mobile devices.

ABug Installation

To install ABug, visit Google Play and search for ABug or Appception. Then, under the ABug app, click the INSTALL link.

ABug Configuration

Authentication

After installing and launching ABug for the first time, add your Appception IDE account information using the Account screen.

Enter your e-mail address, password, and press Save.

Note: you can also Get your account API key to verify that ABug has been successfully configured.

ABug Logging in with ABug

App Installation

ABug may be used to install apps Automatically or Manually.

Automatic App Installation (Auto-update Apps)

***Note:*** as of 2013-07-31, apps can auto-update without ABug. Therefore, it is recommended to NOT enable 'Auto-update Apps' in ABug.

Automatic update of apps allows:

Normally, once a full build is installed, incremental builds can be used to update the app. However, it is useful to repeat the full build procedure periodically to keep the app deployment synchronized.

To activate automatic app updates, select the Settings screen.

ABug

On Auto-update Apps, choose one of the following options:

Note: the device must have an SDCard in order to use Auto-update Apps

ABug Settings ABug Auto-update

If Auto-update Apps is enabled and an app is not installed or ABug detects that the app is out-of-date, it will issue an alert:

ABug Package not detected

If Auto-update Apps is enabled and a new full build (but not an incremental build) is available, ABug will issue an alert:

ABug Confirm Package Install

Manual App Installation

To manually install your app:

In a few moments (depending on the size of your app) the Android installer will run, offering to install and launch your app.

Note that you must have previously built your app in the Appception IDE before you can install it. If not, an error message will be displayed advising you to do so.

Selecting an App Installing an App

Note: if you have not already allowed non-Market apps to be installed a message screen will be displayed:

Android Package Manager

After the app is installed, it can be 'opened' (or run). The sample app will display a screen like the following

Sample Application

Debugging

Apps may be debugged using weinre.

Remote Device

The IDE includes several features to access and control devices through ABug.

Device Logging

The Appception IDE can display a log file, or ABug can display it on the device screen.

To display the log in the Appception IDE, select the Appception IDE navigation bar menu item Debug->Device->Log.

Appception IDE device log

The IDE opens a window and displays the current device log data.

Appception IDE device log data

Note: if no log data is displayed, try re-starting the ABug app and then retrying.

To display the log on the device screen, visit the ABug Tests screen and press the Log button.

ABug Test Screen ABug Logging output

Device Shell

The IDE can create a remote terminal to interact with the device through a shell.

To create the terminal on the IDE, select Debug->Device->Shell.

Appception IDE device terminal

The terminal is opened in a new window:

Appception IDE device terminal data

Note: the remote terminal may behave slightly differently than adb over USB. For example, on some devices the remote terminal may be used to list file directories ('ls -l /storage') which adb cannot.

ABug API

ABug contains an HTTP REST API to support app management.

For more information about the REST API, please Contact us.