精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Purple Pi OH Android11 ROOT方法

深圳觸覺智能 ? 來源:深圳觸覺智能 ? 作者:深圳觸覺智能 ? 2023-06-30 14:59 ? 次閱讀

為了讓應用程序可以直接調用su執行系統命令和獲取root權限,本文基于Purple Pi OH主板的Android SDK,介紹如果修改和編譯一個root版本的Android11系統,以下為sdk源碼修改方法。

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

玩法豐富,支持OpenHarmony、Ubuntu、Debian、Android等多種系統,提供豐富開源資料

poYBAGSefRmAE78BAATGkVe0sMQ177.png

pYYBAGSefSqAHXKgAAPta2JTsSw648.png

關閉selinux

device/rockchip/common/BoardConfig.mk

diff --git a/device/rockchip/common/BoardConfig.mkb/device/rockchip/common/BoardConfig.mkindexe03c54f6a0..4fc6dc9868 100755--- a/device/rockchip/common/BoardConfig.mk+++ b/device/rockchip/common/BoardConfig.mk@@ -59,7+59,7@@ BOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.imgBOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false-BOARD_SELINUX_ENFORCING ?= true+BOARD_SELINUX_ENFORCING ?= false# Use the non-open-sourceparts, ifthey're present

注釋用戶組權限檢測

system/extras/su/su.cpp

diff --git a/system/extras/su/su.cpp b/system/extras/su/su.cppindex 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文件默認授予root權限

system/core/libcutils/fs_config.cpp

diff --git a/system/core/libcutils/fs_config.cpp b/system/core/libcutils/fs_config.cppindex 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.cppindex 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.cindex 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;

編譯鏡像

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

sourcebuild/envsetup.shlunch rk3566_r-userdebug

檢測驗證root是否成功

可在應用程序中調用 /system/xbin/su來測試系統是否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的系統可正常執行,而非root的系統會提示沒有權限

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3924

    瀏覽量

    127147
  • 主板
    +關注

    關注

    53

    文章

    1841

    瀏覽量

    70497
  • root
    +關注

    關注

    1

    文章

    85

    瀏覽量

    21376
  • Purple
    +關注

    關注

    0

    文章

    8

    瀏覽量

    236
收藏 人收藏

    評論

    相關推薦

    【觸覺智能 Purple Pi OH 開發板體驗】+1、開箱體驗

    感謝eefans和廠家的板卡體驗活動,有幸體驗Purple Pi OH 開發板,對標樹莓派4B的一款國產開發板!
    的頭像 發表于 07-23 14:03 ?1671次閱讀
    【觸覺智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開發板體驗】+1、開箱體驗

    【觸覺智能 Purple Pi OH 開發板體驗】+ 熟悉PurplePiOH編譯固件

    Purple Pi OH 開發板的鴻蒙使用體驗。熟悉了軟硬件環境,燒寫固件。搭建了固件開發環境,但固件編譯出現錯誤,期待共同解決問題。
    的頭像 發表于 07-26 16:01 ?1680次閱讀
    【觸覺智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開發板體驗】+ 熟悉PurplePiOH編譯固件

    【觸覺智能 Purple Pi OH 開發板體驗】+2、燒錄debian固件體驗

    廠家為Purple Pi OH 提供了多種系統。
    的頭像 發表于 07-27 09:05 ?1041次閱讀
    【觸覺智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開發板體驗】+2、燒錄debian固件體驗

    請問是否有關于Android11平臺默認開放root權限的文檔?

    請問是否有關于Android11 平臺默認開放root權限的文檔,我們需要用u盤手機替換ko文件
    發表于 04-17 08:21

    [觸覺智能 Purple Pi OH開發板體驗] 二.RK3566運行Android11

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

    【觸覺智能 Purple Pi OH 開發板體驗】檢測Android系統的完備性

    Purple Pi OH運行Android11,性能穩定,該有的硬件外設接口資源,檢測均未發現異常。并能兼容安裝第三方apk軟件,如果能在功耗、散熱性上再做優化,將會給RK3566帶
    發表于 09-10 17:23

    Purple Pi OH開源主板通過 OpenHarmony 兼容性測評

    Purple Pi OH Purple Pi OH作為一款兼容樹莓派的開源主板,采用RK3566
    的頭像 發表于 04-10 09:40 ?807次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b>開源主板通過 OpenHarmony 兼容性測評

    Purple Pi OH Android11 ROOT方法

    為了讓應用程序可以直接調用su執行系統命令和獲取root權限,本文基于Purple Pi OH主板的Android SDK,介紹如果修改和編
    的頭像 發表于 06-25 09:49 ?802次閱讀
    <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 開發板體驗:固件開發+應用開發

    觸覺智能 Purple Pi OH 開發板體驗的開發環境,介紹了設備端和應用端的基本知識點
    的頭像 發表于 08-04 10:52 ?821次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開發板體驗:固件開發+應用開發

    Purple Pi OH 開發板體驗:應用開發的問題

    本文使用觸覺智能 Purple Pi OH 開發板開發鴻蒙應用,遇到問題并解決一部分,目前codelab中的工程都可以在板卡上運行了,有些沒有效果尚待差錯。
    的頭像 發表于 08-11 19:17 ?655次閱讀
    <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開發板體驗:應用開發的問題

    Purple Pi OH Android11 ROOT 方法

    前言為了讓應用程序可以直接調用su執行系統命令和獲取root權限,本文基于PurplePiOH主板的AndroidSDK,介紹如果修改和編譯一個root版本的Android11系統,以
    的頭像 發表于 08-04 08:40 ?1010次閱讀
    <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 開發板體驗】+ 兩款Purple Pi的對比

    先前曾使用過Purple Pi,此次又見到了Purple Pi OH,就對這兩款產品進行簡單的對比。
    的頭像 發表于 08-17 10:11 ?1551次閱讀
    【觸覺智能 <b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b> <b class='flag-5'>OH</b> 開發板體驗】+ 兩款<b class='flag-5'>Purple</b> <b class='flag-5'>Pi</b>的對比

    瑞芯微RK3566鴻蒙開發板Android11修改第三方輸入法為默認輸入法

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

    瑞芯微RK3566/RK3568 Android11使用OTA升級固件方法,深圳觸覺智能鴻蒙開發板演示,備戰第九屆華為ICT大賽

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

    瑞芯微RK3566/RK3568 Android11下該如何默認屏蔽導航欄/狀態欄?看這篇文章就懂了

    本文介紹瑞芯微RK3566/RK3568在Android11系統默認屏蔽導航欄/狀態欄方法,觸覺智能的Purple Pi OH鴻蒙開發板演示
    的頭像 發表于 10-30 18:26 ?348次閱讀
    瑞芯微RK3566/RK3568 <b class='flag-5'>Android11</b>下該如何默認屏蔽導航欄/狀態欄?看這篇文章就懂了