Developer Advocate for IoT
Today we are launching a preview of the href="https://partner.android.com/things/console">Android Things Console.
This console allows developers to manage the software running on their fleet of
Android Things IoT devices, including creating factory images, as well as
updating the operating system and developer-provided APKs. Devices need to run a
system image downloaded via the Android Things Console in order to receive
future updates, such as the upcoming Developer Preview 5. Google provides all of
the infrastructure for over-the-air (OTA) updates, so developers can focus on
their specific application and not have to build their own implementation –
getting their IoT devices to enter the market faster and more securely than
before.
Let's take a tour of the console, and see the features it offers.
Product Creation and Product Settings
The developer first defines a product, which includes selecting a name and the
type of System-on-Module (SoM) that the device is based on. Many developers want
to use Google Play Services when building IoT devices, and this is configured
here as an optional feature. The size of the OEM partition is also configured,
and must be large enough to include the size of any future APK growth.
Factory Images
A device needs an initial base firmware to receive future updates for the
correct product from your console. For starters, you can simply use "Create
Build Configuration" to build a default factory image with an empty bundle that
is configured for your product. This factory image can then be downloaded and
flashed to your device, and you can start developing on it by sideloading an
APK.
Later on, once you have prepared an application that you would like to deploy to
all the devices in your product, you can upload a bundle to the console. This
bundle is a ZIP file that contains a main APK file, user space drivers as a
service in an APK, and any additional APKs launched by the main APK. A href="https://source.android.com/devices/tech/ota/device_code#boot-animation">bootanimation.zip
file is also supported, which will be displayed during boot up. The uploaded
bundle ZIP file is then used to produce a complete system image that can be
deployed to devices. More information about the bundle ZIP file contents is
available in the href="https://developer.android.com/things/console/app_bundle.html">documentation.
OTA Updates
This tab allows the developer to select which system image should be pushed to
the fleet of product devices. The developer selects one, and then "Push to
Devices" starts the process. The update will then be securely pushed to all of
the devices, installed to one of the A/B partitions, and made active when the
device is rebooted. If any failures are detected, the device automatically rolls
back to the previous known working version, so future updates are still
possible. Developers will be able to test new releases of Android Things in
advance and decide whether devices should be updated automatically.
Feedback
The Android Things Console is currently a preview, and we are working on many
more features and customizations. We encourage all Android Things developers to
check out the Android Things Console and provide feedback. You can do this by
filing href="https://code.google.com/p/android/issues/entry?template=Android%20Things%20bug%20report">bug
reports and href="https://code.google.com/p/android/issues/entry?template=Android%20Things%20feature%20request">feature
requests, and asking any questions on href="http://stackoverflow.com/questions/tagged/android-things">Stack
Overflow. To learn more about the Android Things Console, read the detailed
href="https://developer.android.com/things/console/index.html">documentation.
We also encourage everyone to join Google's IoT
Developers Community on Google+, a great resource to get updates and discuss
ideas.