分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
(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...