日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android系统的system/app和system/priv-app

發布時間:2023/12/16 Android 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android系统的system/app和system/priv-app 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android 4.4起引入了/system/priv-app目錄概念,那么它和原來的/system/app目錄有什么區別呢?
一句話答案:
只有在/system/priv-app目錄下的app或者和這個目錄下的app相同簽名的app才可以使用android:protectionLevel=signatureOrSystem中的權限

Android官方文檔解釋 “signatureOrSystem” 級別。

android有4種權限:

  • normal:低風險權限,只要申請了就可以使用(在AndroidManifest.xml中添加<uses-permission>標簽),安裝時不需要用戶確認;
  • dangerous:高風險權限,安裝時需要用戶的確認才可使用;
  • signature:只有當申請權限的應用程序的數字簽名與聲明此權限的應用程序的數字簽名相同時(如果是申請系統權限,則需要與系統簽名相同),才能將權限授給它;
  • signatureOrSystem:簽名相同,或者申請權限的應用為系統應用(在system image中)。

這些權限都在frameworks/base/core/res/AndroidManifest.xml里面定義:

<permission android:name="com.android.alarm.permission.SET_ALARM"android:label="@string/permlab_setAlarm"android:description="@string/permdesc_setAlarm"android:protectionLevel="normal" /><permission android:name="android.permission.READ_CONTACTS"android:permissionGroup="android.permission-group.CONTACTS"android:label="@string/permlab_readContacts"android:description="@string/permdesc_readContacts"android:protectionLevel="dangerous" /><permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"android:permissionGroup="android.permission-group.PHONE"android:label="@string/permlab_accessImsCallService"android:description="@string/permdesc_accessImsCallService"android:protectionLevel="signature|system" /><permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"android:protectionLevel="signature|privileged" />

system/app下的一般是Android系統內置的應用,例如:相機、瀏覽器、藍牙等等
system/priv-app下的一般時手機廠商預置的應用,例如:與手機廠商合作的各種應用。

system/app、system/priv-app目錄下的app什么時候安裝

Android系統啟動時,PackageManagerService由SystemServer啟動,PackageManagerService會掃描 /data/app、/system/app、/system/priv-app、/vendor/app、/vendor/overlay、/oem/app等等目錄,可以理解為會把這些目錄中的Apk安裝一遍,PackageManagerService會結合上面提到的packages.xml把各個App解析成PackageParser.Package對象。

手機app開發和機頂盒app開發的區別

手機app開發是直接基于Android原生無裁剪的SDK開發的,直接使用原生系統提供的各種API,且一般安裝在用戶目錄 data/app 之下。

機頂盒的系統是基于原生AOSP裁剪并進行相應擴展而來的系統,在其上開發的app調用了很多非原生自帶的API等。且一般安裝在系統目錄 system/app 或者廠商定制目錄 vendor/app 之下.

參考:
關于system/priv-app和system/app目錄以及權限
system/priv-app和system/app
/system/app 和 /system/priv-app 有什么區別?
[Android AOSP] /system/priv-app 和 /system/app區別
預制到system/app下面開機卻沒有
如何將apk文件更新到系統中vendor文件夾下
adb將Apk內置到系統中(system/priv-app)

總結

以上是生活随笔為你收集整理的Android系统的system/app和system/priv-app的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。