高通关闭插入USB后自动开机的解决方案

1、问题描述

现象:关机状态下,插入USB充电会自动开机。

原因:是由于编译的是userdebug模式,而user模式进入的则是充电界面。所以与编译条件相关。

本文连接:https://blog.csdn.net/qq_33611327/article/details/106429500

2、源码涉及和解决

相关源码ap/bootable/bootloader/lk/app/aboot/aboot.c

....

unsigned char*update_cmdline(const char* cmdline)

{
    .....
    }else if((target_build_variant_user() || device.charger_screen_enabled)

            && target_pause_for_battery_charge()){
        pause_at_bootup = 1; 
        cmdline_len += strlen(battchg_pause); 
    }
    ....
}

target_build_variant_user()判断模式,只要是user模式,则会进入下一个判断target_pause_for_battery_charge()是否在充电,是则停止启动进入充电状态。

userdebug模式下解决方法

#fastboot oem enable-charger-screen   //打开关机充电

#fastboot oem disable-charger-screen  //关闭充电,自动开机

3、其他修改

init.c

if (!is_ffbm)
    is_charger = !strcmp(bootmode, "charger");
 
 ......

if (is_charger)
   action_for_each_trigger("charger", action_add_queue_tail);
 
.....

init.rc

on charger
    class_start charger

init.qcom.rc

service charger /charger
    class charger
 

 system/core/healthd/Android.mk 

即Symlink /charger to /sbin/healthd

LOCAL_MODULE := healthd
...

本文连接:https://blog.csdn.net/qq_33611327/article/details/106429500

你可能感兴趣的:(Android系统移植,android开机模式)