Android 让adb以root的身份来运行

本文详细介绍了如何通过安装特定的image和SuperSU来获取Android设备的Root权限,并通过替换adbd实现ADB Root功能,确保了后续可以使用adb root和adb remount命令。

1. 首先安装自己手机对应的root的image, 如twrp.img

    //上传supersu 到
   adb push SuperSU-v2.79-20161211114519.zip  /mnt/sdcard/supersu.zip

   adb reboot fastboot
   //等重启好
   fastboot  flash recovery twrp-3.3.1-0-shamu.img
   

  fastboot  flash recovery twrp-3.3.1-0-shamu.img

   进入twrp的菜单,安装SuperSU-v2.79-20161211114519.zip

2. 这样可以通过su命令来取得root权限 , 但是不能adb root这样,

以下命令会提示出错,

adb root
adbd cannot run as root in production builds
adb remount
Not running as root. Try "adb root" first.

需要再替换一下adbd, 安装个termux

  找个修改版的adbd,如adbd.21.png , 下载 https://download.csdn.net/download/aerror/14122036

adb push adbd.21.png /mnt/sdcard/

 


su

stop adbd
mount -o rw,remount / /
cat /sbin/adbd > /sbin/adbd.original
chown 0.0 /sbin/adbd.original
chmod 644 /sbin/adbd.original
rm /sbin/adbd
cat /sdcard/adbd.21.png >  /sbin/adbd
chown 0.0  /sbin/adbd
chmod 0750 /sbin/adbd

cat /system/bin/sh > /sbin/adbsh
chown 0.0 /sbin/adbdsh
chmod 0750 /sbin/adbdsh

supolicy --live "permissive init_shell" \
"allow adbd adbd process setcurrent" \
"allow adbd init process dyntransition" \
"allow servicemanager { init_shell zygote } dir search" \
"allow servicemanager { init_shell zygote } file { read open }" \
"allow servicemanager { init_shell zygote } process getattr" \
"allow system_server init_shell binder { transfer call }" \
"allow zygote { servicemanager system_server } binder call" 


start adbd

成功之后:

shamu:/ # whoami                                                               
root
shamu:/ # ps  | grep adbd
root      9296  1     8628   224   poll_sched 000204f4 S /sbin/adbd

$ adb root
adbd is already running as root
$ adb remount
remount succeeded

发现重启之后不行,于是写了一个脚本adbroot放到/system/bin下面,每次重启之后在termux里执行一下:



shamu:/ # cat /system/bin/adbroot                                              
stop adbd
mount -o rw,remount /
rm /sbin/adbd
ln -s /data/local/adbd.21.png /sbin/adbd
supolicy --live "permissive init_shell" \
"allow adbd adbd process setcurrent" \
"allow adbd init process dyntransition" \
"allow servicemanager { init_shell zygote } dir search" \
"allow servicemanager { init_shell zygote } file { read open }" \
"allow servicemanager { init_shell zygote } process getattr" \
"allow system_server init_shell binder { transfer call }" \
"allow zygote { servicemanager system_server } binder call" 
start adbd

在termux每次重启后执行:

su 

adbroot

 

内容概要:本文针对间歇性光伏出力导致的48V直流母线电压波动问题,研究并构建了一套储能系统双向充放电闭环调控体系,旨在实现离网型直流微网的功率动态平衡与电压稳定控制。通过Simulink搭建包含光伏阵列、Boost DC-DC变换器、负载、双向DC-DC变换器及锂离子电池的完整直流微网系统模型,重点解决光伏发电波动引起的功率供需失衡难题。采用最大功率点跟踪(MPPT)技术提升光伏能量捕获效率,并结合储能系统的双向调节能力,实施削峰填谷策略,实现能量的时空转移与动态补偿。研究涵盖系统建模、控制策略设计、仿真验证全流程,确保在光照变化、负载突变等复杂工况下母线电压的稳定性,提升微网系统的电能质量和运行可靠性。; 适合人群:具备电力电子、自动控制或新能源系统等相关专业知识背景,从事微电网、分布式能源、储能控制等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于离网光伏直流微网系统的仿真建模与稳定性分析;②掌握MPPT控制与储能双向DC-DC变换器的协同调控技术;③实现直流母线电压的精确稳定控制与系统功率动态平衡的闭环设计;④为实际光伏储能系统的设计、优化与工程应用提供理论依据与仿真技术支持。; 阅读建议:建议结合Simulink仿真环境动手实践,重点关注控制策略的实现逻辑、控制器参数整定方法,并可通过设置光照强度突变、负载跳变等多种动态工况来验证系统的鲁棒性与适应性,深化对系统动态行为的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值