0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

迅為IMX8MM開(kāi)發(fā)板Andaoid9 獲取root 權(quán)限

北京迅為電子 ? 2022-04-07 18:19 ? 次閱讀

imx8mm開(kāi)發(fā)板

默認(rèn)的安卓 9 不支持獲取 root,燒寫(xiě)默認(rèn)的安卓 9 鏡像啟動(dòng)之后,默認(rèn)已經(jīng)打開(kāi)了 adb 調(diào)試功能,不需要我們?cè)龠M(jìn)行配置:

首先我們打開(kāi)我們?cè)凇?/p>

iTOP-i.MX8MM 開(kāi)發(fā)板\02-i.MX8MM 開(kāi)發(fā)板網(wǎng)盤(pán)資料匯總(不含光盤(pán)內(nèi)容)\09

Aondroid 系統(tǒng)開(kāi)發(fā)資料\02 Android9 獲取 root 權(quán)限”目錄下的 adb 的終端,輸入以下命令

adb.exe devices

來(lái)查看是否能檢測(cè)到我們對(duì)應(yīng)的設(shè)備,如下圖所示:

由于我們還未配置獲取 root 權(quán)限,所以我們輸入“adb.exe root”,會(huì)發(fā)現(xiàn) adb 終端會(huì)卡住,然后在開(kāi) 發(fā)板的串口控制臺(tái)打印如下信息,同時(shí)也會(huì)卡住,

為了能獲取 root 權(quán)限,我們需要對(duì)源碼進(jìn)行部分修改(為了方便起見(jiàn),我們已經(jīng)將配置好的鏡像放在 “

iTOP-i.MX8MM 開(kāi)發(fā)板\02-i.MX8MM 開(kāi)發(fā)板網(wǎng)盤(pán)資料匯總(不含光盤(pán)內(nèi)容)\09 Aondroid 系統(tǒng)開(kāi)發(fā)資料\02 Android9 獲取 root 權(quán)限\root”路徑下)可以直接使用我們提供好的鏡像。

首先我們進(jìn)入 ubuntu 虛擬機(jī),進(jìn)入我們提供的安卓 9 源碼,如下圖所示:

然后使用以下命令,進(jìn)入 su.cpp 文件,對(duì) 83、84 行內(nèi)容進(jìn)行注釋?zhuān)薷耐瓿芍笕缦聢D所示:

vim system/extras/su/su.cpp

保存退出之后,使用以下命令,進(jìn)入 fs_config.cpp 文件,

vim system/core/libcutils/fs_config.cpp

然后在 177 行添加以下內(nèi)容

{ 06755, AID_ROOT,

AID_ROOT,

0, "system/bin/su" },

添加完成如下圖所示:

保存退出之后,使用以下命令,進(jìn)入 com_android_internal_os_Zygote.cpp 文件,

vim frameworks/base/core/jni/com_android_internal_os_Zygote.cpp

注釋掉 DropCapabilitiesBoundingSet 方法體(注意這里的 return true 不能注釋?zhuān)?/p>

保存退出之后,使用以下命令,進(jìn)入 main.cpp 文件,

vim system/core/adb/daemon/main.cpp

注釋掉方法體 should_drop_capabilities_bounding_set 中的 return true,然后添加 return false,修改完成 之后如下圖所示:

保存退出之后,使用以下命令,進(jìn)入 selinux.cpp 文件,

vim system/core/init/selinux.cpp

首先注釋掉 StatusFromCmdline 方法,

修改 IsEnforcing 方法返回 false, 保存退出,返回安卓 9 源碼目錄下,使用命令“

./create.sh”,進(jìn)行編譯,

編譯完成之后,將“out/result”目錄下的鏡像通過(guò)燒寫(xiě)章節(jié)燒寫(xiě)進(jìn)開(kāi)發(fā)板。

燒寫(xiě)完成之后繼續(xù)使用命令“adb.exe root”,如下圖所示。這一次并不會(huì)卡頓,但是有可能需要重啟開(kāi)發(fā)板,然后重新使用命令。

然后我們使用“adb disable-verity”命令,會(huì)報(bào)“Device is locked. Please unlock the device first”提示,

根據(jù)提示信息,我們需要對(duì)設(shè)備進(jìn)行解鎖,首先我們進(jìn)入開(kāi)發(fā)者選項(xiàng),打開(kāi) OEM 解鎖(允許解鎖引導(dǎo)加載程序),具體步驟如下:

1 開(kāi)發(fā)板啟動(dòng)以后,進(jìn)入 Android 系統(tǒng),我們?cè)谄聊簧峡梢钥吹?Android 系統(tǒng)的界面,

2 上滑解鎖,進(jìn)入應(yīng)用程序界面,如下圖所示:

3 我們點(diǎn)擊“設(shè)置”軟件,打開(kāi)如下圖所示

4 然后點(diǎn)擊“系統(tǒng)”后,如下圖所示:

5 然后點(diǎn)擊“關(guān)于平板電腦”,點(diǎn)擊后,如下圖所示:

6 然后找到“版本號(hào)”,連續(xù)點(diǎn)擊版本號(hào)十次,如下圖所示:

7 之后便可以進(jìn)入開(kāi)發(fā)者模式了,返回到“系統(tǒng)”的目錄,點(diǎn)擊“高級(jí)”,如下圖所示:

8 我們可以看到“開(kāi)發(fā)者選項(xiàng)”的目錄,我們點(diǎn)擊進(jìn)入,如下圖所示:

OEM 是默認(rèn)打開(kāi)的。

然后我們?cè)?adb 終端輸入“adb.exe reboot bootloader”命令

開(kāi)發(fā)板串口控制臺(tái)會(huì)卡在以下地點(diǎn),我們?cè)谶@里需要手動(dòng)重啟開(kāi)發(fā)板。

重啟開(kāi)發(fā)板之后,會(huì)進(jìn)入 fastboot 模式,

然后我們打開(kāi)電腦的設(shè)備管理器,可以看到我們的 otg 設(shè)備當(dāng)前為 USB download gadget ,

該設(shè)備是用來(lái)進(jìn)行燒寫(xiě)鏡像的,而在這里我們要用到的為 ADB 設(shè)備,所以我們需要對(duì)該設(shè)備進(jìn)行更新, 首先,右擊 USB download gadget 設(shè)備,選擇更新驅(qū)動(dòng)程序,進(jìn)入以下界面,然后我們選擇第二個(gè)選項(xiàng)瀏覽我的電腦以查找驅(qū)動(dòng)程序:

選擇進(jìn)入之后如下圖所示,然后我們選擇下方選項(xiàng)。讓我從計(jì)算機(jī)上可用的應(yīng)用程序列表中選?。?/p>

之后會(huì)進(jìn)入以下界面,我們選擇 ROMaster ADB interface,然后點(diǎn)擊下一步 最后會(huì)彈出以下,安裝完成界面,

至此我們的 otg 設(shè)備已經(jīng)成功設(shè)置為了 ADB 設(shè)備了,返回設(shè)備管理器,可以看到相應(yīng)的 ADB 設(shè)備,

然后我們返回 adb 控制臺(tái),輸入“

fastboot flashing unlock”命令

至此我們的設(shè)備鎖就解開(kāi)了,然后我們?cè)俅问謩?dòng)重啟開(kāi)發(fā)板,等待啟動(dòng)完成?;氐?adb 終端輸入以下 命令:

輸入以下命令,

adb root

adb disable-verity

adb reboot (該命令可能最后需要手動(dòng)重啟來(lái)執(zhí)行)

adb root

adb remount

adb shell "mount -o remount,rw /system"

SuperSU 是一個(gè)管理 ROOT 授權(quán)的軟件??梢詫?duì)所有請(qǐng)求 ROOT 權(quán)限的軟件進(jìn)行管理,避免 ROOT 授

權(quán)被濫用。我們輸入以下命令安裝 SuperSU.apk ,

adb push SuperSU-v2.79-201612051815/common/Superuser.apk /system/app/SuperSU/SuperSU.apk

adb shell chmod 0644 /system/app/SuperSU/SuperSU.apk

adb shell chcon u:object_r:system_file:s0 /system/app/SuperSU/SuperSU.apk

輸入以下命令拷貝 install-recovery.sh ,

adb push SuperSU-v2.79-201612051815/common/install-recovery.sh /system/bin/install-recovery.sh

adb shell chmod 0755 /system/bin/install-recovery.sh

adb shell chcon u:object_r:toolbox_exec:s0 /system/bin/install-recovery.sh

install-recovery.sh 腳本的內(nèi)容如下:

#!/system/bin/sh

# If you're implementing this in a custom kernel/firmware,

# I suggest you use a different script name, and add a service

# to launch it from init.rc

# Launches SuperSU in daemon mode only on Android 4.3+.

# Nothing will happen on 4.2.x or older, unless SELinux+Enforcing.

# If you want to force loading the daemon, use "--daemon" instead

/system/xbin/daemonsu --daemon &

# Some apps like to run stuff from this script as well, that will

# obviously break root - in your code, just search this file

# for "install-recovery-2.sh", and if present, write there instead.

輸入以下命令拷貝二進(jìn)制文件 su,

adb push SuperSU-v2.79-201612051815/arm64/su /system/xbin/su

adb shell chmod 0755 /system/xbin/su

adb push SuperSU-v2.79-201612051815/arm64/su /system/xbin/daemonsu

adb shell chmod 0755 /system/xbin/daemonsu

adb shell chcon u:object_r:system_file:s0 /system/xbin/daemonsu

輸入以下命令拷貝文件,

adb push SuperSU-v2.79-201612051815/arm64/supolicy /system/xbin/supolicy

adb shell chmod 0755 /system/xbin/supolicy

adb shell chcon u:object_r:system_file:s0 /system/xbin/supolicy

輸入以下命令拷貝庫(kù)文件,adb push SuperSU-v2.79-201612051815/arm64/libsupol.so /system/lib64/libsupol.so

adb shell chmod 0755 /system/lib64/libsupol.so

adb shell chcon u:object_r:system_file:s0 /system/lib64/libsupol.so

輸入以下命令安裝“

Superuser”apk 和 root 檢測(cè) apk,

adb install SuperSU-v2.79-201612051815/common/Superuser.apk

adb install rootchecker.paid-2.1.apk

重新啟動(dòng) Android 系統(tǒng),

打開(kāi)剛剛安裝的“

SuperSu”APP,

退出軟件之后,打開(kāi)剛剛安裝的“Root 檢查工具”APP,點(diǎn)擊“檢查”按鈕,如下圖所示:

點(diǎn)擊“授權(quán)”,如下圖所示:

如下圖所示,發(fā)現(xiàn)已經(jīng)獲得 root 權(quán)限。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3917

    瀏覽量

    127037
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    itop-3568開(kāi)發(fā)板AMP雙系統(tǒng)使用手冊(cè)之燒寫(xiě)AMP鏡像

    itop-3568開(kāi)發(fā)板AMP雙系統(tǒng)使用手冊(cè)之燒寫(xiě)AMP鏡像
    的頭像 發(fā)表于 11-04 15:00 ?211次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>itop-3568<b class='flag-5'>開(kāi)發(fā)板</b>AMP雙系統(tǒng)使用手冊(cè)之燒寫(xiě)AMP鏡像

    iTOP-RK3568/RK3588開(kāi)發(fā)板獲麒麟軟件適配認(rèn)證

    iTOP-RK3568/RK3588開(kāi)發(fā)板獲麒麟軟件適配認(rèn)證
    的頭像 發(fā)表于 10-18 14:56 ?402次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-RK3568/RK3588<b class='flag-5'>開(kāi)發(fā)板</b>獲麒麟軟件適配認(rèn)證

    【北京】itop-3588開(kāi)發(fā)板快速測(cè)試手冊(cè)-銀河麒麟系統(tǒng)功能測(cè)試

    【北京】itop-3588開(kāi)發(fā)板快速測(cè)試手冊(cè)-銀河麒麟系統(tǒng)功能測(cè)試
    的頭像 發(fā)表于 09-09 14:44 ?586次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】itop-3588<b class='flag-5'>開(kāi)發(fā)板</b>快速測(cè)試手冊(cè)-銀河麒麟系統(tǒng)功能測(cè)試

    北京RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    北京RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?360次閱讀
    北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3568<b class='flag-5'>開(kāi)發(fā)板</b>嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    電子RK3588S開(kāi)發(fā)板第三章Buildroot系統(tǒng)功能測(cè)試

    電子RK3588S開(kāi)發(fā)板第三章Buildroot系統(tǒng)功能測(cè)試
    的頭像 發(fā)表于 09-02 14:45 ?641次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>電子RK3588S<b class='flag-5'>開(kāi)發(fā)板</b>第三章Buildroot系統(tǒng)功能測(cè)試

    RK3588!黑神話悟空,啟動(dòng)?-電子RK3588開(kāi)發(fā)板

    RK3588!黑神話悟空,啟動(dòng)?-電子RK3588開(kāi)發(fā)板
    的頭像 發(fā)表于 08-30 14:13 ?471次閱讀
    RK3588!黑神話悟空,啟動(dòng)?-<b class='flag-5'>迅</b><b class='flag-5'>為</b>電子RK3588<b class='flag-5'>開(kāi)發(fā)板</b>

    2K0500開(kāi)發(fā)板硬件連接快速測(cè)試

    2K0500開(kāi)發(fā)板硬件連接快速測(cè)試
    的頭像 發(fā)表于 08-13 15:40 ?242次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>2K0500<b class='flag-5'>開(kāi)發(fā)板</b>硬件連接快速測(cè)試

    探索巔峰性能 | RK3588開(kāi)發(fā)板深度剖析

    探索巔峰性能 | RK3588開(kāi)發(fā)板深度剖析
    的頭像 發(fā)表于 08-12 14:07 ?720次閱讀
    探索巔峰性能 | <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3588<b class='flag-5'>開(kāi)發(fā)板</b>深度剖析

    鴻蒙OpenHarmony南向/北向快速開(kāi)發(fā)教程-RK3568開(kāi)發(fā)板

    大家期待已久的RK3568開(kāi)發(fā)板終于迎來(lái)了鴻蒙4.1系統(tǒng)的強(qiáng)勢(shì)支持!想知道如何實(shí)現(xiàn)快速開(kāi)發(fā)學(xué)習(xí)嗎?跟著我們一起來(lái)探索吧!
    發(fā)表于 07-23 10:44

    國(guó)產(chǎn)四核RK3562開(kāi)發(fā)板底板硬件接口原理說(shuō)明

    國(guó)產(chǎn)四核RK3562開(kāi)發(fā)板底板硬件接口原理說(shuō)明
    的頭像 發(fā)表于 06-14 15:27 ?1334次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>國(guó)產(chǎn)四核RK3562<b class='flag-5'>開(kāi)發(fā)板</b>底板硬件接口原理說(shuō)明

    iTOP-RK3588開(kāi)發(fā)板Buildroot系統(tǒng)功能測(cè)試

    iTOP-RK3588開(kāi)發(fā)板Buildroot系統(tǒng)功能測(cè)試
    的頭像 發(fā)表于 03-14 15:42 ?1171次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-RK3588<b class='flag-5'>開(kāi)發(fā)板</b>Buildroot系統(tǒng)功能測(cè)試

    RK3568開(kāi)發(fā)板驅(qū)動(dòng)開(kāi)發(fā)指南-輸入子系統(tǒng)

    RK3568開(kāi)發(fā)板驅(qū)動(dòng)開(kāi)發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?741次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3568<b class='flag-5'>開(kāi)發(fā)板</b>驅(qū)動(dòng)<b class='flag-5'>開(kāi)發(fā)</b>指南-輸入子系統(tǒng)

    3588開(kāi)發(fā)板Ubuntu安裝Docker

    3588開(kāi)發(fā)板Ubuntu安裝Docker
    的頭像 發(fā)表于 01-29 16:07 ?638次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>3588<b class='flag-5'>開(kāi)發(fā)板</b>Ubuntu安裝Docker

    RK3588開(kāi)發(fā)板-智慧能源行業(yè)的解決方案

    RK3588開(kāi)發(fā)板-智慧能源行業(yè)的解決方案
    的頭像 發(fā)表于 01-24 15:26 ?546次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3588<b class='flag-5'>開(kāi)發(fā)板</b>-智慧能源行業(yè)的解決方案

    RK3568開(kāi)發(fā)板助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展

    RK3568開(kāi)發(fā)板助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展
    的頭像 發(fā)表于 01-23 13:59 ?520次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3568<b class='flag-5'>開(kāi)發(fā)板</b>助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展