android user版本如何開啟root許可權

2021-08-31 23:08:44 字數 1771 閱讀 5447

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

(1). adbd 的root 許可權

我們通常在debug user 版本問題時, 或者進行user 版本的monkey test 時都會這個工作,以便debug.

如果你想user 版本adb root 許可權預設關閉, 而在想開啟時, 可以通過工程模式中的設定項開啟, 那麼請user2root 功能。

此功能預設關閉, 如果開啟, 需要在projectconfig.mk 中設定: mtk_user_root_switch = yes

通常我們會內建具有控制端的第三方su, 下面以內建supersu, 以及使用google default su 為例進行說明。

(3). 如何內建第三方supersu

該方式可以繞過zygote 和 adbd 對root capabilities boundset 的限制.

supersu:

將su 複製並改名成: daemonsu

內建su 到 system/xbin

內建daemonsu 到 system/xbin

內建chattr 到 system/xbin

內建chattr.pie 到 /system/xbin

3.3. 內建install-recovery.sh 到system/etc

更新alps/system/core/inlcude/private/android_filesystem_config.h

在android_files 陣列的最開始新增. ,

(4). 如何內建google default su

4.1 放開google default su 只准shell/root 使用者使用的限制.

system/extras/su/su.c 中刪除下面3行**

if (myuid != aid_root && myuid != aid_shell)

4.2 首先將此編譯出的su 內建到system/bin, 然後修改su 的內建許可權,啟用sbit 位.

更新alps/system/core/inlcude/private/android_filesystem_config.h

在android_files 陣列中 增加

,注意這行要放在 ,

之前4.3 如果是kk 以及以後版本, 需要強行解除zygote 和 adbd 對root capabilities boundset 的限制

更新kernel/security/commoncap.c 中 cap_prctl_drop 函式為:

static long cap_prctl_drop(struct cred *new, unsigned long cap)

if (!strncmp(current->comm, "adbd", 16))

// add end

if (!capable(cap_setpcap))

return -eperm;

if (!cap_valid(cap))

return -einval;

cap_lower(new->cap_bset, cap);

return 0; }

重新編譯系統, 重新download 後, adb shell 進入後再輸入su 看看是否命令列由$切換到#, 如果切換即成功。           

給我老師的人工智慧教程打call!

android user版本如何開啟root許可權

1 adbd 的root 許可權 我們通常在debug user 版本問題時,或者進行user 版本的monkey test 時都會這個工作,以便debug.如果你想user 版本adb root 許可權預設關閉,而在想開啟時,可以通過工程模式中的設定項開啟,那麼請user2root 功能。此功能預...

android user模式下如何替換odex檔案

開發階段為了方便除錯,android都是使用eng版本進行編譯,修改 的時候無需重新生成整個system映象,而只需要用mm編譯出對應的模組,然後將模組adb push到系統中就可以看到效果了。比如修改了framework,則只需將新的framework.jar通過命令adb push framew...

如何檢視linux版本

1.檢視核心版本命令 1 root q1test01 cat proc version linux version 2.6.9 22.elsmp bhcompile crowe.devel.redhat.com gcc version 3.4.4 20050721 red hat 3.4.4 2 1...