Android應用開發基礎知識

您可以使用 Kotlin、Java 和 C++ 語言編寫 Android 應用。Android SDK 工具會將您的程式碼連同任何資料和資原始檔編譯成一個 APK(

Android 軟體包

),即帶有 。apk 字尾的歸檔檔案。一個 APK 檔案包含 Android 應用的所有內容,它也是 Android 裝置用來安裝應用的檔案。

每個 Android 應用都處於各自的安全沙盒中,並受以下 Android 安全功能的保護:

Android 作業系統是一種多使用者 Linux 系統,其中的每個應用都是一個不同的使用者;

預設情況下,系統會為每個應用分配一個唯一的 Linux 使用者 ID(該 ID 僅由系統使用,應用並不知曉)。系統會為應用中的所有檔案設定許可權,使得只有分配給該應用的使用者 ID 才能訪問這些檔案;

每個程序都擁有自己的虛擬機器 (VM),因此應用程式碼獨立於其他應用而執行。

預設情況下,每個應用都在其自己的 Linux 程序內執行。Android 系統會在需要執行任何應用元件時啟動該程序,然後當不再需要該程序或系統必須為其他應用恢復記憶體時,其便會關閉該程序。

Android 系統實現了

最小許可權原則

。換言之,預設情況下,每個應用只能訪問執行其工作所需的元件,而不能訪問其他元件。這樣便能建立非常安全的環境,在此環境中,應用無法訪問其未獲得許可權的系統部分。不過,應用仍可透過一些途徑與其他應用共享資料以及訪問系統服務:

可以安排兩個應用共享同一 Linux 使用者 ID,在此情況下,二者便能訪問彼此的檔案。為節省系統資源,也可安排擁有相同使用者 ID 的應用在同一 Linux 程序中執行,並共享同一 VM。應用還必須使用相同的證書進行簽名。

應用可以請求訪問裝置資料(如使用者的聯絡人、簡訊訊息、可裝載儲存裝置(SD 卡)、相機、藍芽等)的許可權。使用者必須明確授予這些許可權。