Android Things 03
阿新 • • 發佈:2018-11-06
平臺差異
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>