溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于android8.1實現(xiàn)多個app升級時的注意事項

發(fā)布時間:2020-10-04 07:29:20 來源:網(wǎng)絡(luò) 閱讀:470 作者:GaoNeil 欄目:移動開發(fā)

關(guān)于android8.1實現(xiàn)多個app升級時的注意事項

android新的版本,packagemanager對app安裝有一定的限制,就是除了shell和root用戶外,其他用戶的進程不允許安裝除了系統(tǒng)用戶(system ui)以外的app。也就是例如system用戶不允許安裝uid為7000的app。

所以,如果你想通過一個appupgrade(一個system用戶的進程)專門去進行多個不用用戶的應(yīng)用進行差分升級,那么需要去掉此限制。
修改如下:

diff --git a/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java b/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java
index 94f7577..53eea02 100644
--- a/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java
+++ b/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java
@@ -438,7 +438,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub {
throw new SecurityException("User restriction prevents installing");
}

  • if ((callingUid == Process.SHELL_UID) || (callingUid == Process.ROOT_UID)) {
  • if ((callingUid == Process.SHELL_UID) || (callingUid == Process.ROOT_UID) || (callingUid == Process.SYSTEM_UID)) {
    params.installFlags |= PackageManager.INSTALL_FROM_ADB;

     } else {

    @@ -737,7 +737,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub {
    IntentSender statusReceiver, int userId) throws RemoteException {
    final int callingUid = Binder.getCallingUid();
    mPm.enforceCrossUserPermission(callingUid, userId, true, true, "uninstall");

  • if ((callingUid != Process.SHELL_UID) && (callingUid != Process.ROOT_UID)) {
  • if ((callingUid != Process.SHELL_UID) && (callingUid != Process.ROOT_UID) && (callingUid != Process.SYSTEM_UID)) {
    mAppOps.checkPackage(callingUid, callerPackageName);
    }

歡迎觀看我發(fā)布的各個課程: https://edu.51cto.com/lecturer/8896847.html
或者
我的3折優(yōu)惠的專題組合課程:
https://edu.51cto.com/topic/2362.html

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI