2021-09-20 Android(R) user版本启动ADB,并设置root权限

Android® user版本启动ADB,并设置root权限

遇到的问题:

user版本莫名重启(调查发现是发生了kernel panic),由于没有Log,无法直接调查。

调查思路:

1.通过修改kernel config,将SERIAL_CONFIG设置成y打开log,但是如果是由于时序引起的重启,打开log之后问题可能不会再现
2.由于重启时,Android会将rawdump存起来,可以通过导出rawdump文件解析出当时的log

导出工具:

ADB,但是adb pull需要root权限,user版本默认是关闭的

修改方法:

1.android/build/make/core/main.mk

默认打开adb,不认证,设置root权限:

@@ -263,11 +263,11 @@ enable_target_debugging := true
tags_to_install :=
ifneq (,$(user_variant))
# Target is secure in user builds.
	- ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1
	+ ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0
	ADDITIONAL_DEFAULT_PROPERTIES += security.perf_harden=1

ifeq ($(user_variant),user)
	- ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
	+ ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=0
endif

ifeq ($(user_variant),userdebug)
@@ -275,7 +275,7 @@ ifneq (,$(user_variant))
	tags_to_install += debug
else
	# Disable debugging in plain user builds.
	- enable_target_debugging := 
	+ #enable_target_debugging :=
endif

# Disallow mock locations by default for user builds
@@ -297,7 +297,7 @@ ifeq (true,$(strip.$(enable_target_debugging)))
	ADDITIONAL_BUILD_PROPERTIES += dalvik.vm.lockprof.thershold=500
else # !enable_target_debugging
	#Target is less debuggable and adbd is off by default
	- ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
	+ ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1
endif # !enable_target_debugging

2.可能需要修改devices/common中其他的ro.secure=0

(因为刚开始调查的时候不知道是否有影响,所以都进行了修改)
grep -snR ro.secure

3.android/system/core/init/selinux.cpp

修改selinx权限,默认返回permissive:

@@ -104,6 +04,7 @@ EnforcingStatus StatusFromCmdline() {
}
bool IsEnforcing() {
	+ return false;
	if(ALLOW_PERMISSIVE_SELINUX) {
		return StatusFromCmdline() == SELINUX_ENFORCING;
	}

至此,user版本就可以直接使用adb的root权限进行操作了。

解析rawdump:

adb pull /dev/block/by-name/rawdump
python minidump.py -s rawdump result/
python minidump.py -d result/md_KLOGBUF.BIN
解析出dmesg.txt

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值