1. 程式人生 > >Android Things 03

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>