赞
踩
user版本莫名重启(调查发现是发生了kernel panic),由于没有Log,无法直接调查。
1.通过修改kernel config,将SERIAL_CONFIG设置成y打开log,但是如果是由于时序引起的重启,打开log之后问题可能不会再现
2.由于重启时,Android会将rawdump存起来,可以通过导出rawdump文件解析出当时的log
ADB,但是adb pull需要root权限,user版本默认是关闭的
默认打开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
(因为刚开始调查的时候不知道是否有影响,所以都进行了修改)
grep -snR ro.secure
修改selinx权限,默认返回permissive:
@@ -104,6 +04,7 @@ EnforcingStatus StatusFromCmdline() {
}
bool IsEnforcing() {
+ return false;
if(ALLOW_PERMISSIVE_SELINUX) {
return StatusFromCmdline() == SELINUX_ENFORCING;
}
至此,user版本就可以直接使用adb的root权限进行操作了。
adb pull /dev/block/by-name/rawdump
python minidump.py -s rawdump result/
python minidump.py -d result/md_KLOGBUF.BIN
解析出dmesg.txt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。