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

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

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

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

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

imx8mm開發(fā)板

默認(rèn)的安卓 9 不支持獲取 root,燒寫默認(rèn)的安卓 9 鏡像啟動之后,默認(rèn)已經(jīng)打開了 adb 調(diào)試功能,不需要我們再進(jìn)行配置:

首先我們打開我們在“

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

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

adb.exe devices

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

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

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

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

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

然后使用以下命令,進(jìn)入 su.cpp 文件,對 83、84 行內(nèi)容進(jìn)行注釋,修改完成之后如下圖所示:

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 不能注釋),

保存退出之后,使用以下命令,進(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”目錄下的鏡像通過燒寫章節(jié)燒寫進(jìn)開發(fā)板。

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

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

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

1 開發(fā)板啟動以后,進(jìn)入 Android 系統(tǒng),我們在屏幕上可以看到 Android 系統(tǒng)的界面,

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

3 我們點擊“設(shè)置”軟件,打開如下圖所示

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

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

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

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

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

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

然后我們在 adb 終端輸入“adb.exe reboot bootloader”命令

開發(fā)板串口控制臺會卡在以下地點,我們在這里需要手動重啟開發(fā)板。

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

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

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

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

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

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

然后我們返回 adb 控制臺,輸入“

fastboot flashing unlock”命令

至此我們的設(shè)備鎖就解開了,然后我們再次手動重啟開發(fā)板,等待啟動完成?;氐?adb 終端輸入以下 命令:

輸入以下命令,

adb root

adb disable-verity

adb reboot (該命令可能最后需要手動重啟來執(zhí)行)

adb root

adb remount

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

SuperSU 是一個管理 ROOT 授權(quán)的軟件??梢詫λ姓埱?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

輸入以下命令拷貝庫文件,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 檢測 apk,

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

adb install rootchecker.paid-2.1.apk

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

打開剛剛安裝的“

SuperSu”APP,

退出軟件之后,打開剛剛安裝的“Root 檢查工具”APP,點擊“檢查”按鈕,如下圖所示:

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

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

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

    關(guān)注

    12

    文章

    3943

    瀏覽量

    127841
收藏 人收藏

    評論

    相關(guān)推薦

    RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設(shè)備驅(qū)動

    RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設(shè)備驅(qū)動
    的頭像 發(fā)表于 01-23 11:02 ?1086次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3568<b class='flag-5'>開發(fā)板</b>驅(qū)動指南Linux中通用SPI設(shè)備驅(qū)動

    RK3576開發(fā)板Android?多屏顯示

    RK3576開發(fā)板Android?多屏顯示
    的頭像 發(fā)表于 01-16 16:58 ?280次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3576<b class='flag-5'>開發(fā)板</b>Android?多屏顯示

    RK3576開發(fā)板核心與底板接口硬件介紹

    RK3576開發(fā)板核心與底板接口硬件介紹
    的頭像 發(fā)表于 01-14 15:15 ?335次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3576<b class='flag-5'>開發(fā)板</b>核心<b class='flag-5'>板</b>與底板接口硬件介紹

    北京iTOP-RK3576開發(fā)板新品上市

    北京iTOP-RK3576開發(fā)板新品上市
    的頭像 發(fā)表于 12-27 11:14 ?334次閱讀
    北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-RK3576<b class='flag-5'>開發(fā)板</b>新品上市

    [RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗QT跨平臺能力

    [RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗QT跨平臺能力
    的頭像 發(fā)表于 12-18 16:41 ?426次閱讀
    [<b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3568<b class='flag-5'>開發(fā)板</b>]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗QT跨平臺能力

    【北京】itop-3562開發(fā)板在Linux系統(tǒng)中使用NPU

    【北京】itop-3562開發(fā)板在Linux系統(tǒng)中使用NPU
    的頭像 發(fā)表于 11-25 14:52 ?438次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】itop-3562<b class='flag-5'>開發(fā)板</b>在Linux系統(tǒng)中使用NPU

    敬請期待 | RK3576開發(fā)板即將發(fā)布

    敬請期待 | RK3576開發(fā)板即將發(fā)布
    的頭像 發(fā)表于 11-22 15:13 ?204次閱讀
    敬請期待 | <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3576<b class='flag-5'>開發(fā)板</b>即將發(fā)布

    RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo

    RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo
    的頭像 發(fā)表于 11-15 15:04 ?580次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3588<b class='flag-5'>開發(fā)板</b>Android12動態(tài)替換開機(jī)logo

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

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

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

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

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

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

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

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

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

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

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

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

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

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