硬件环境
购买硬件
进行Android Things物联网开发,首先要准备一些硬件设备,Android Things目前支持四款硬件平台:
这些硬件可以在网上买到,当然仅仅有开发板还不行,还需要一些其他的配件,比如网线,HDMI线,电源线,SD卡,摄像头,显示屏等等,不过刚开始不用一次性全部买齐,等到开发时缺什么再去买什么,这样可以避免买错。笔者买的是树莓派3b(Raspberry Pi 3 b)的一个套餐(散热片,HDMI线,网线,16G SD卡,主板,风扇,外壳,电源线)300多。
烧写Android Things系统
首先下载各个开发板对应的Android Things系统镜像:
平台 | Android Things包 | 大小 | SHA-1 校验和 |
---|---|---|---|
Inter Edison | androidthings_edison_devpreview_2.zip | 249 MB (261384078bytes) | 0621e4a890c0cc25d6bb16aed87aee8d5ec819a7 |
Inter Joule | androidthings_joule_devpreview_2.zip | 267 MB (280434440 bytes) | b11317de771a85a0bbee514c383a8974d87866b2 |
NXP | androidthings_imx6ul_pico_devpreview_2.zip | 239 MB (250738643 bytes) | 6571f00a785cd47f404722c8ae3ad63c821e5865 |
Raspberry Pi | androidthings_rpi3_devpreview_2.zip | 244 MB (250738643 bytes) | b8790030c1bb889b65b0222e462f9911fc0f0a71 |
针对不同的开发板,有不同的烧写方法,具体如下:
软件环境
先决条件
1. 下载或者更新最新版本的Android Studio。
2. 更新你的SDK tools到24及以上(更新SDK tools允许你去构建和测试Things的app)
3. 更新你的SDK到Android 7.0(API 24)或者更高(更新后的平台为Things app提供新的API)
4. 创建或者更新你的项目的目标为Android 7.0(API level 24)或者更高。
5. 按照创建Android项目一样创建Things项目。
添加依赖包
Android Things设备通过支持包暴露APIs,这些支持包不属于Android SDK的一部分。要在你的Android Things的APP中添加Things支持包:
1. 在你的APP级别的build.gradle文件的dependencies 代码块中添加一下依赖:
dependencies {
...
provided 'com.google.android.things:androidthings:0.2-devpreview'
}
2.在你的app的manifest文件中添加Android Things的共享库:
<application ...>
<uses-library android:name="com.google.android.things"/>
...
</application>
注意:添加 provided 依赖是为了确保构建工具在编译时不会复制共享库到apk中。添加<uses-library> 是为了在app运行时让这个预构建的库可见。
申明主界面
一个应用程序要想在一个嵌入式设备上运行,必须在它的manifest文件中申明一个activity来作为设备启动后程序的主入口。提供一个包含以下元素的intent filter:
- Action:ACTION_MAIN
- Category: CATEGORY_DEFAULT
- Category: IOT_LAUNCHER
为了便于开发,这个activity应该包含一个 CATEGORY_LAUNCHER 的intent filter,这样Android Studio可以在部署或者调试的时候把它作为默认的activity启动起来。
<application
android:label="@string/app_name">
<uses-library android:name="com.google.android.things"/>
<activity android:name=".HomeActivity">
<!-- Launch activity as default from Android Studio -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<!-- Launch activity automatically on boot -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
致此,硬件环境和软件环境已经搭建好,可以使用Android Things中的API了。
下一节 将会分享一下硬件上的一些基本的概念。