Configuring Icenium LiveSync with the SGS3

Icenium LiveSync enables you to easily deploy an app in development to one or more devices and see changes made–in real-time in both the integrated device simulator and across all connected devices–without having to recompile. In order for LiveSync to work, your development environment must be able to communicate with the device. For Android devices this requires communication using the Android Debug Bridge (ADB). This video shows you how to set up your development environment to enable LiveSync between Graphite and the Samsung Galaxy S III.

This video shows you all the steps outlined in this blog post.

What to Do

The steps outlined in the video are simple and easy to complete.

  1. Install the Samsung Android USB Driver for Windows
  2. Enable Debug Mode on the Device
  3. Optionally Verify with ADB

Install the Samsung Android USB Driver for Windows

This is pretty straight forward. Go here and download the Samsung Android USB Driver for Windows. This is the driver package for many of the Samsung devices, including the SGS3 and other smartphones and tablets in the Galaxy product line.

Enable Debug Mode on the Device

For any device that will be communicating over the ADB, you must enable USB Debugging. On the SGS3 this is in Settings > Developer Options. Check the box for USB Debugging so that there is a green check mark in the box.

Optionally Verify with ADB

When you installed Icenium Graphite part of the installation package included the Android Debug Bridge, which is used for LiveSync communication between Graphite and the devices. You can use ADB in a command line to verify that your SGS3 is visible to ADB (this isn’t necessary, but can be useful if you are troubleshooting any device connection issues).

  1. Open a command line end enter:
    cd %USERPROFILE%\AppData\Local\Temp\ADB
  2. Enter:
    adb devices

You should see a device ID for your SGS3 (for example, in the video mine is 4df1d84539005ffd).

That’s it – you are all set. When you create or open a project in Icenium and your SGS3 is connected, you should see it in the Device list.

Setting Up the Kindle Fire HD 7 for Icenium LiveSync

Since we released Icenium a couple weeks ago, a few folks have asked me if it could be used to build apps for the new Kindle Fire HD. The simple answer is “Yes.” The Fire HD is an Android Ice Cream Sandwich (v4.0.x) device, and Android (v2.2 and greater) is a supported operating system for Icenium projects.

In order for Icenium to communicate with devices over USB, and deploy and update apps, the device drives for those devices have to be installed and configured on the PC. For Apple iOS devices, the device drivers are included in iTunes. For Samsung devices, most of these are in Samsung Kies. For HTC devices, these are in HTC SyncManager. You get it.

But what about Amazon? They don’t have a utility like this.

Setting up the Kindle Fire (1st Generation) to work with Icenium LiveSync was pretty straight forward – download the USB driver, update an INI file and wham-o, it works. Then Amazon released the Kindle Fire HD, which included an updated operating system (the original Kindle was based on Android Gingerbread – v2.3.4) and it was proclaimed to be unhackable. This meant that for developers it was going to be a challenge to work with it as a development device in any way not prescribed by Amazon. Of course the official guidance is to use the Android SDK, platform tools and Eclipse as your development environment. Yuck.

When you plug in a Fire HD, it installs a driver that enables you to copy media files to and from the device, but it doesn’t enable the Android Debug Bridge (ADB) to access the device to install apps. Icenium LiveSync uses ADB for the communication to Android devices to enable deployment and updates on devices (don’t worry, you don’t need the Android SDK for this, ADB is installed in C:\Users\<usernmae>\AppData\Local\Temp\ when Icenium Graphite is installed).

I bought a Kindle Fire HD 7” and began following the unofficial steps to connect to it as a development device. Turns out it was very troublesome, especially if I refused to download the Android SDK. I found a few blog posts that all pointed back to a forum post on how to root the Fire HD, so I gave it a shot. Unfortunately for me when I followed the steps it didn’t work. No matter what I tried, the correct driver would get installed, and the Fire HD wouldn’t show up in the ADB device list.

image

Rather than get discouraged, I experimented and got it to work. The steps in the forum post may work for you, but they didn’t work for me right away. The only ADB driver that I could get to install was the Android ADB Interface (not the Android Composite ADB Interface driver as outlined in the forum post). I had to manually install a different driver (a generic USB Composite Device driver), and then the Kindle Fire HD was recognized by ADB.

image

After that, I connected the Kindle Fire (1st Gen) that I previously had working, and the Android Composite ADB Interface driver magically appeared. I disconnected both Kindle devices and reconnected them and both of updated to the Android Composite ADB Interface driver.

image

Now both the Kindle Fire 1st Gen and the Kindle Fire HD were visible to ADB…

image

…which meant that both devices are ready to by used by Icenium LiveSync.

image

Now when I click on “Run on Device” the app is compiled in the cloud for Android using the Icenium Compiler Service and pushed through Icenium Graphite and over ADB to the devices.

image

That’s it. Now you can test your Icenium project on either a Kindle Fire or Kindle Fire HD. As soon as the Fire HD 8.9” arrives, I’ll give that a test.

And stay tuned for a video series on Icenium LiveSync called “Getting to 50’ where I will add various devices to see if we can successfully support simultaneous LiveSync to 50 devices.

D7