pid:為process identifier, pid就是各程序的身份標識,程式一執行系統就會自動分配給程序乙個獨一無二的pid。程序中止後pid被系統**,可能會被繼續分配給新執行的程式,但是在android系統中一般不會把已經kill掉的程序id重新分配給新的程序,新產生程序的程序號,一般比產生之前所有的程序號都要大。
uid:一般理解為user identifier,uid在linux中就是使用者的id,表明時哪個使用者執行了這個程式,主要用於許可權的管理。而在android 中又有所不同,因為android為單使用者系統,這時uid 便被賦予了新的使命,資料共享,為了實現資料共享,android為每個應用幾乎都分配了不同的uid,不像傳統的linux,每個使用者相同就為之分配相同的uid。(當然這也就表明了乙個問題,android只能時單使用者系統,在設計之初就被他們的工程師給閹割了多使用者),使之成了資料共享的工具。
因此在android中pid,和uid都是用來識別應用程式的身份的,但uid是為了不同的程式來使用共享的資料。
在android 中要通過uid共享資料只需在程式a,b中的menifest配置即可,具體如下:
<manifest
xmlns:android
=""package
="com.perseus.a"
android:versioncode
="1"
android:versionname
="1.0"
android:shareduserid
="com.share"
>
<manifest
xmlns:android
=""package
="com.perseus.b"
android:versioncode
="1"
android:versionname
="1.0"
android:shareduserid
="com.share"
>
這樣我們就可以在a程式中通過跳轉activity的形式訪問b中的資料了。
這樣的話你也許會有疑問,如果讓其他的開發這知道了我們的shareuserid知道了我們的id,那我們的資料不是暴露了,放心吧google不會犯這樣的低階錯誤的,我們要使不同的程式能夠相互訪問,還需要擁有相同的簽名,每個公司或者開發者的簽名是唯一的,這樣我們就不用擔心了,另外兩者能夠訪問,別忘了許可權
ANDROID 中UID與PID的作用與區別
pid 為process identifier,pid就是各程序的身份標識,程式一執行系統就會自動分配給程序乙個獨一無二的pid。程序中止後pid被系統 可能會被繼續分配給新執行的程式,但是在android系統中一般不會把已經kill掉的程序id重新分配給新的程序,新產生程序的程序號,一般比產生之前...
Android中PID與UID的作用與區別
pid 為process identifier,pid就是各程序的身份標識,程式一執行系統就會自動分配給程序乙個獨一無二的pid。程序中止後pid被系統 可能會被繼續分配給新執行的程式,但是在android系統中一般不會把已經kill掉的程序id重新分配給新的程序,新產生程序的程序號,一般比產生之前...
Android安裝應用失敗UID 和 PID
參考 安裝任意第三方的乙個apk,恢復出廠設定,再次安裝相同的apk,提示安裝失敗,通過列印log發現,安裝失敗的錯誤反回值是24,public static final int install failed uid changed 24 進一步跟蹤發現,在恢復出廠設定後 data data目錄下的...