吴忠躺衫网络科技有限公司

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

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

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

Purple Pi OH Android11 ROOT方法

sXx1_industio ? 來(lái)源:深圳觸覺(jué)智能 ? 2023-06-25 09:49 ? 次閱讀

前言

為了讓?xiě)?yīng)用程序可以直接調(diào)用su執(zhí)行系統(tǒng)命令和獲取root權(quán)限,本文基于Purple Pi OH主板的Android SDK,介紹如果修改和編譯一個(gè)root版本的Android11系統(tǒng),以下為sdk源碼修改方法。

Purple Pi OH作為一款兼容樹(shù)莓派的開(kāi)源主板,采用瑞芯微RK3566 (Cortex-A55) 四核64位超強(qiáng)CPU,主頻最高達(dá)1.8 GHz,算力高達(dá)1Tops,支持INT8/INT16,支持TensorFlow/MXNet/PyTorch/Caffe框架,多路視頻輸出和輸入,支持4K、H.265/H.264視頻解碼,接口豐富。

玩法豐富,支持OpenHarmony、Ubuntu、Debian、Android等多種系統(tǒng),提供豐富開(kāi)源資料

產(chǎn)品規(guī)格書(shū):Purple Pi OH 產(chǎn)品手冊(cè)

9dab5998-101a-11ee-962d-dac502259ad0.png9dcc4342-101a-11ee-962d-dac502259ad0.png

關(guān)閉selinux

device/rockchip/common/BoardConfig.mk

diff --git a/device/rockchip/common/BoardConfig.mkb/device/rockchip/common/BoardConfig.mk
indexe03c54f6a0..4fc6dc9868 100755
--- a/device/rockchip/common/BoardConfig.mk
+++ b/device/rockchip/common/BoardConfig.mk
@@ -59,7+59,7@@ BOARD_BOOT_HEADER_VERSION ?= 2
BOARD_MKBOOTIMG_ARGS :=
BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img
BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false
-BOARD_SELINUX_ENFORCING ?= true
+BOARD_SELINUX_ENFORCING ?= false

# Use the non-open-sourceparts, ifthey're present

注釋用戶組權(quán)限檢測(cè)

system/extras/su/su.cpp

diff --git a/system/extras/su/su.cpp b/system/extras/su/su.cpp
index 1a1ab6bf40..af3d2a68c7 100644
--- a/system/extras/su/su.cpp
+++ b/system/extras/su/su.cpp
@@ -80,8+80,8@@ voidextract_uidgids(constchar* uidgids, uid_t* uid, gid_t* gid, gid_t* gids, i
}

intmain(intargc, char** argv){
- uid_tcurrent_uid = getuid();
- if(current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "not allowed");
+ //uid_t current_uid = getuid();
+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "not allowed");

// Handle -h and --help.
++argv;
給su文件默認(rèn)授予root權(quán)限

system/core/libcutils/fs_config.cpp

diff --git a/system/core/libcutils/fs_config.cpp b/system/core/libcutils/fs_config.cpp
index 5805a4d19b..92e93e76ff 100644
--- a/system/core/libcutils/fs_config.cpp
+++ b/system/core/libcutils/fs_config.cpp
@@ -188,7+188,7@@ staticconststructfs_path_configandroid_files[] = {
// the following two files are INTENTIONALLY set-uid, but they
// are NOT included on user builds.
{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem"},
- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su"},
+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su"},

// the following files have enhanced capabilities and ARE included
// in user builds.

frameworks/base/core/jni/com_android_internal_os_Zygote.cpp

diff --git a/frameworks/base/core/jni/com_android_internal_os_Zygote.cpp b/frameworks/base/core/jni/com_android_internal_os_Zygote.cpp
index 9eede83e21..d161e6fad3 100644
--- a/frameworks/base/core/jni/com_android_internal_os_Zygote.cpp
+++ b/frameworks/base/core/jni/com_android_internal_os_Zygote.cpp
@@ -656,7+656,7@@ staticvoidEnableKeepCapabilities(fail_fn_t fail_fn) {
}

staticvoidDropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
- for(inti = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {;
+/* for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {;
if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) {
if (errno == EINVAL) {
ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify "
@@ -665,7 +665,7 @@ static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno)));
}
}
- }
+ }*/
}

kernel/security/commoncap.c

diff --git a/kernel/security/commoncap.c b/kernel/security/commoncap.c
index 876cfe01d9..ce87b1b780 100644
--- a/kernel/security/commoncap.c
+++ b/kernel/security/commoncap.c
@@ -1166,12+1166,12@@ intcap_task_setnice(struct task_struct *p, intnice)
staticintcap_prctl_drop(unsignedlongcap)
{
structcred*new;
-
+/*
if (!ns_capable(current_user_ns(), CAP_SETPCAP))
return -EPERM;
if (!cap_valid(cap))
return -EINVAL;
-
+*/
new= prepare_creds();
if(!new)
return-ENOMEM;
編譯鏡像

修改后需要重新編譯內(nèi)核和AOSP,Android編譯需要選擇rk3566_r-userdebug版本

sourcebuild/envsetup.sh
lunch rk3566_r-userdebug
檢測(cè)驗(yàn)證root是否成功

可在應(yīng)用程序中調(diào)用 /system/xbin/su來(lái)測(cè)試系統(tǒng)是否root成功

publicstaticvoidRootCommand() {
Process process = null;
try{
process = Runtime.getRuntime().exec("/system/xbin/su");
process.waitFor();
} catch(IOException | InterruptedException e) {
e.printStackTrace();
} finally{
if(process != null) {
process.destroy();
}
}
}

root的系統(tǒng)可正常執(zhí)行,而非root的系統(tǒng)會(huì)提示沒(méi)有權(quán)限

java.io.IOException: Cannot run program "/system/xbin/su": error=13, Permission denied

審核編輯:湯梓紅

聲明:本文內(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

    文章

    3945

    瀏覽量

    127927
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10902

    瀏覽量

    213000
  • 主板
    +關(guān)注

    關(guān)注

    53

    文章

    1918

    瀏覽量

    71390
  • root
    +關(guān)注

    關(guān)注

    1

    文章

    86

    瀏覽量

    21417
  • 樹(shù)莓派
    +關(guān)注

    關(guān)注

    117

    文章

    1710

    瀏覽量

    105874

原文標(biāo)題:【技術(shù)分享】Purple Pi OH Android11 ROOT 方法

文章出處:【微信號(hào):industio,微信公眾號(hào):深圳觸覺(jué)智能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板體驗(yàn)】+1、開(kāi)箱體驗(yàn)

    感謝eefans和廠家的板卡體驗(yàn)活動(dòng),有幸體驗(yàn)Purple Pi OH 開(kāi)發(fā)板,對(duì)標(biāo)樹(shù)莓派4B的一款國(guó)產(chǎn)開(kāi)發(fā)板!
    的頭像 發(fā)表于 07-23 14:03 ?1819次閱讀
    【觸覺(jué)智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開(kāi)發(fā)板體驗(yàn)】+1、開(kāi)箱體驗(yàn)

    【觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板體驗(yàn)】+ 熟悉PurplePiOH編譯固件

    Purple Pi OH 開(kāi)發(fā)板的鴻蒙使用體驗(yàn)。熟悉了軟硬件環(huán)境,燒寫(xiě)固件。搭建了固件開(kāi)發(fā)環(huán)境,但固件編譯出現(xiàn)錯(cuò)誤,期待共同解決問(wèn)題。
    的頭像 發(fā)表于 07-26 16:01 ?1881次閱讀
    【觸覺(jué)智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開(kāi)發(fā)板體驗(yàn)】+ 熟悉PurplePiOH編譯固件

    【觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板體驗(yàn)】+2、燒錄debian固件體驗(yàn)

    廠家為Purple Pi OH 提供了多種系統(tǒng)。
    的頭像 發(fā)表于 07-27 09:05 ?1176次閱讀
    【觸覺(jué)智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開(kāi)發(fā)板體驗(yàn)】+2、燒錄debian固件體驗(yàn)

    請(qǐng)問(wèn)是否有關(guān)于Android11平臺(tái)默認(rèn)開(kāi)放root權(quán)限的文檔?

    請(qǐng)問(wèn)是否有關(guān)于Android11 平臺(tái)默認(rèn)開(kāi)放root權(quán)限的文檔,我們需要用u盤(pán)手機(jī)替換ko文件
    發(fā)表于 04-17 08:21

    [觸覺(jué)智能 Purple Pi OH開(kāi)發(fā)板體驗(yàn)] 二.RK3566運(yùn)行Android11

    給的已經(jīng)很詳細(xì)了。3.進(jìn)入升級(jí)模式 Purple-Pi-OH主板升級(jí)模式有Loader和MaskRom兩種,需要先進(jìn)入到升級(jí)模式,才可以給主板燒寫(xiě)固件。進(jìn)入Loader模式有硬件和軟件兩種方法
    發(fā)表于 08-07 08:26

    【觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板體驗(yàn)】檢測(cè)Android系統(tǒng)的完備性

    Purple Pi OH運(yùn)行Android11,性能穩(wěn)定,該有的硬件外設(shè)接口資源,檢測(cè)均未發(fā)現(xiàn)異常。并能兼容安裝第三方apk軟件,如果能在功耗、散熱性上再做優(yōu)化,將會(huì)給RK3566帶
    發(fā)表于 09-10 17:23

    Purple Pi OH開(kāi)源主板通過(guò) OpenHarmony 兼容性測(cè)評(píng)

    Purple Pi OH Purple Pi OH作為一款兼容樹(shù)莓派的開(kāi)源主板,采用RK3566
    的頭像 發(fā)表于 04-10 09:40 ?913次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b>開(kāi)源主板通過(guò) OpenHarmony 兼容性測(cè)評(píng)

    Purple Pi OH Android11 ROOT方法

    為了讓?xiě)?yīng)用程序可以直接調(diào)用su執(zhí)行系統(tǒng)命令和獲取root權(quán)限,本文基于Purple Pi OH主板的Android SDK,介紹如果修改和編
    的頭像 發(fā)表于 06-30 14:59 ?709次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> <b class='flag-5'>Android11</b> <b class='flag-5'>ROOT</b><b class='flag-5'>方法</b>

    Purple Pi OH 開(kāi)發(fā)板體驗(yàn):固件開(kāi)發(fā)+應(yīng)用開(kāi)發(fā)

    觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板體驗(yàn)的開(kāi)發(fā)環(huán)境,介紹了設(shè)備端和應(yīng)用端的基本知識(shí)點(diǎn)
    的頭像 發(fā)表于 08-04 10:52 ?938次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開(kāi)發(fā)板體驗(yàn):固件開(kāi)發(fā)+應(yīng)用開(kāi)發(fā)

    Purple Pi OH 開(kāi)發(fā)板體驗(yàn):應(yīng)用開(kāi)發(fā)的問(wèn)題

    本文使用觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板開(kāi)發(fā)鴻蒙應(yīng)用,遇到問(wèn)題并解決一部分,目前codelab中的工程都可以在板卡上運(yùn)行了,有些沒(méi)有效果尚待差錯(cuò)。
    的頭像 發(fā)表于 08-11 19:17 ?744次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開(kāi)發(fā)板體驗(yàn):應(yīng)用開(kāi)發(fā)的問(wèn)題

    Purple Pi OH Android11 ROOT 方法

    前言為了讓?xiě)?yīng)用程序可以直接調(diào)用su執(zhí)行系統(tǒng)命令和獲取root權(quán)限,本文基于PurplePiOH主板的AndroidSDK,介紹如果修改和編譯一個(gè)root版本的Android11系統(tǒng),以
    的頭像 發(fā)表于 08-04 08:40 ?1092次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> <b class='flag-5'>Android11</b> <b class='flag-5'>ROOT</b> <b class='flag-5'>方法</b>

    【觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板體驗(yàn)】+ 兩款Purple Pi的對(duì)比

    先前曾使用過(guò)Purple Pi,此次又見(jiàn)到了Purple Pi OH,就對(duì)這兩款產(chǎn)品進(jìn)行簡(jiǎn)單的對(duì)比。
    的頭像 發(fā)表于 08-17 10:11 ?1738次閱讀
    【觸覺(jué)智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開(kāi)發(fā)板體驗(yàn)】+ 兩款<b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b>的對(duì)比

    瑞芯微RK3566鴻蒙開(kāi)發(fā)板Android11修改第三方輸入法為默認(rèn)輸入法

    本文適用于觸覺(jué)智能所有支持Android11系統(tǒng)的開(kāi)發(fā)板修改第三方輸入法為默認(rèn)輸入法。本次使用的是觸覺(jué)智能的Purple Pi OH鴻蒙開(kāi)源主板,搭載了瑞芯微RK3566芯片,類樹(shù)莓派
    的頭像 發(fā)表于 09-24 09:43 ?532次閱讀
    瑞芯微RK3566鴻蒙開(kāi)發(fā)板<b class='flag-5'>Android11</b>修改第三方輸入法為默認(rèn)輸入法

    瑞芯微RK3566/RK3568 Android11使用OTA升級(jí)固件方法,深圳觸覺(jué)智能鴻蒙開(kāi)發(fā)板演示,備戰(zhàn)第九屆華為ICT大賽

    本文介紹瑞芯微RK3566/RK3568在Android11系統(tǒng)OTA升級(jí)固件方法,使用觸覺(jué)智能的Purple Pi OH鴻蒙開(kāi)發(fā)板演示,搭
    的頭像 發(fā)表于 10-12 11:57 ?663次閱讀
    瑞芯微RK3566/RK3568 <b class='flag-5'>Android11</b>使用OTA升級(jí)固件<b class='flag-5'>方法</b>,深圳觸覺(jué)智能鴻蒙開(kāi)發(fā)板演示,備戰(zhàn)第九屆華為ICT大賽

    瑞芯微RK3566/RK3568 Android11下該如何默認(rèn)屏蔽導(dǎo)航欄/狀態(tài)欄?看這篇文章就懂了

    本文介紹瑞芯微RK3566/RK3568在Android11系統(tǒng)默認(rèn)屏蔽導(dǎo)航欄/狀態(tài)欄方法,觸覺(jué)智能的Purple Pi OH鴻蒙開(kāi)發(fā)板演示
    的頭像 發(fā)表于 10-30 18:26 ?560次閱讀
    瑞芯微RK3566/RK3568 <b class='flag-5'>Android11</b>下該如何默認(rèn)屏蔽導(dǎo)航欄/狀態(tài)欄?看這篇文章就懂了
    百家乐官网图形的秘密破解| 百家乐怎么压对子| 澳门百家乐官网官网www.bjbj100.com | 阳东县| 澳门顶级赌场网址| 太阳百家乐代理| 上海百家乐赌博| 真人百家乐官网最高赌注| 玩百家乐官网如何硬| 百家乐官网平玩法lm0| 上游棋牌大厅下载| 大发888娱乐城真假| 都坊百家乐的玩法技巧和规则 | 白金会娱乐场怎么样| 威尼斯人娱乐代理| 百家乐娱乐平台官网网| 百家乐学院教学视频| 百家乐官网又称为什么| 菲律宾百家乐官网赌场娱乐网规则| 玩百家乐官网五湖四海娱乐城| 衡阳市| 在线扎金花| 大发娱乐城| 德州扑克高手| 大发888充钱| 百家乐博牌规| 金赞百家乐的玩法技巧和规则| 澳门百家乐博客| 百家乐多少点数算赢| 网上百家乐哪里| 新濠百家乐官网娱乐场| 康莱德百家乐官网的玩法技巧和规则 | 网上百家乐怎么破解| 24山吉凶| 24山安葬吉凶择日| 百家乐官网九| 金满堂百家乐官网的玩法技巧和规则 | 五大连池市| 肃宁县| 房产| 百家乐官网赚钱项目|