Android Things 03

平台差异

Android Things 基于 Android 平台并且为嵌入式设备做了优化。除了新功能 Android Things 在系统和 API 方面与 Android 也有很多不同。这个文档介绍了你应该理解并在应用中考虑的一些主要差异。

不支持的API

Android Things 为嵌入式设备做了优化,有肯能不包括像手机或者平板一样的功能。比如 图形用户界面是可选的,因为不是所有的设备都有显示器。

下表概述了 Android Things 不支持的 Android 功能,以及受影响的API:


这里写图片描述

常见意图

Android Things 不包括标准的系统应用程序和内容提供者。避免在应用中使用常用的意图和以下内容提供者的API

  • CalendarContract
  • ContactsContract
  • DocumentsContract
  • DownloadManager
  • MediaStore
  • Settings
  • Telephony
  • UserDictionary
  • VoicemailContract

运行时权限

在你应用的清单文件中声明你需要的权限。

由于很多物联网应用不需要用户界面和输入设备,因此 Android Things的权限授予方式和 Android 应用程序不同

通过 Android Studio 运行一个应用时,所有的权限(包括危险权限)都会被授予。这适用于新安装的应用和更新已有应用的某些权限。你可以使用 adb 工具去测试 授权和删除权限。

当你准备用 Android Things 的控制台去部署你的应用时,你将为所有应用程序赋予危险权限 作为构建过程的一部分。你可以在开发阶段覆盖它,但无法在实际产品中覆盖它最终用户无法更改这些权限。

原生代码

Android Things 与 Android NDK 兼容,可以将 C/C++ 代码引进到你的应用中。由于 Android Things 设备通常受内存限制,因此平台要求使用android:extractNativeLibs属性 在运行时将本机库保留在 apk 中

<manifest ...>
  <application
    android:extractNativeLibs="false" ...>
    ...

  </application>
</manifest>

猜你喜欢

转载自blog.csdn.net/lucky9322/article/details/81660453