Android SDK

The Android Software Development Kit (SDK) is a collection of programming tools for developing, building, and debugging Android applications. It is primarily focused on all-Java programs that can run unchanged on all Android cpu architectures. For programming in native-compiled languages like C and C++, see the NDK add-on tool set.

Using the SDK and SDK-generated apps is the same for MIPS-based devices as for Arm- or x86-based Android devices. The following instructions assume that you are already familiar with using these tools to build and run Java apps for Arm devices.

The Android SDK now comes in three versions:

  • A stand-alone copy of the basic command-line SDK Tools
  • Android Studio IDE which includes the basic SDK Tools
  • The original, deprecated Eclipse ADT IDE

All three versions include the SDK Manager, AVD Manager, and emulator described below.

Installing the stand-alone SDK Tools, Android Studio, or Eclipse ADT is the same for MIPS development as for Arm and x86.

Building an app is the same for all Android target architectures. The same Dalvik/dex binary code is generated for them all. That code is optimized for the specific cpu architecture after it is delivered to the user’s device.

You can test your app on real Android devices or on the SDK’s emulated virtual devices (AVDs). The SDK includes instruction-set emulators for all Android device architectures. For most day-to-day testing and debugging of Java programs, it does not matter which cpu type is used. Running on a real device is fastest. Running on an emulated x86 device on your x86 host PC is nearly as fast, due to the low emulation overheads. Running on an emulated Arm or MIPS virtual device is much slower. Most testing is done on a x86 virtual device instead of a MIPS virtual device, for speed.

MIPS System Images

Some application testing is best done on real or virtual MIPS devices, together with the specific Android system code released with those devices. Native MIPS-compiled apps (from NDK) will only execute on real or virtual MIPS devices, not on Arm or x86.

The SDK automatically downloads recent Android system images for 32-bit Arm devices. But the system images for MIPS or MIPS64 virtual devices are not downloaded until you ask for them. You must do that before setting up the AVDs for emulated MIPS runs.

To get them:

  • Open the SDK Manager (package installer).
  • Find the most recent Android release that shows an available “MIPS System Image” package. (Google has not published all of the images built by Imagination.)
  • Click on the “SDK Platform”, “MIPS System Image”, and “Arm EABI v7a System Image” packages for that Android release.
  • Click on “Install 3 packages”.
  • Click on the license agreements enough times to turn off all the red X’s. There are multiple license agreements involved.
  • Install those packages. System images are large so downloading takes awhile.

The MIPS system images currently available include:

JellyBean Android 4.2.1 ABI 17
JellyBean Android 4.1.2 ABI 16
Ice Cream Sandwich Android 4.0.4 ABI 15

MIPS Android Virtual Devices

After you have downloaded a MIPS or MIPS64 system image, you can then configure a virtual device for running MIPS or MIPS64 instructions:

  • Open the SDK’s AVD Manager.
  • Create a new Virtual Device with the external screen and button characteristics you prefer.
  • Select a MIPS or MIPS64 ABI system image to use with that device. Only the images you have previously downloaded will appear.
  • Name it, adjust any settings, and Finish.
  • Launch that AVD in its emulator, to begin its bootup sequence. One way to launch is via the green right-pointing Action triangle in the list of your AVDs.
  • Run the application program; it will default to executing on the emulated device now running. In future runs, SDK will start the AVD for you if not already running.