什么是uid?
uid 是user 用戶id
Android里的UID是基于應用程序,每一個程序都有一個UID,如果應用程序1和應用程序2的uid不同,則在default情況下,二者無法讀取對方的數據,這樣提升了應用的安全性。
當使用者安裝了某一應用程序時,android系統就會賦予一個uid,用戶可以在屏幕上的窗口里可以檢視這個AndroidManifest.xml檔案的內容,用戶回了解這個應用程序的目的、權限等,并選擇接受與不接受。
一些特殊情形下,兩個應用程序是可以持有一樣的UID。
例如,當需要推出新版本時,這兩種版本的程序可以持有一樣的UID, 才有權限將舊版程序的數據轉移到新版軟件里。
uid與pid的區別?
Pid 是?process?進程ID,Uid 是?user?用戶ID,只是Android和計算機不一樣。
計算機每個用戶都具有一個Uid,而Android中每個程序都有一個Uid。
默認情況下,Android會給每個程序分配一個普通級別互不相同的 Uid,如果用互相調用,只能是Uid相同才行,這就使得共享數據具有了一定安全性。
每一個不同的程序都能有一個UId,但是一個應用里面可以有多個PId。
一個用戶可以打開多個進程(Pid),并且這些進程的uid是一樣的;
一個pid對應一個進程,每次打開時系統都會賦予不同的pid,但是uid是當你安裝Apk時,系統賦予的,是不變的,除非你卸載了重裝,又會重新賦予一個Uid;