如何使Android设备在电源接通时启动?

如何使Android设备在电源接通时启动?,android,linux-kernel,android-ndk,Android,Linux Kernel,Android Ndk,我需要把它用在三星平板电脑上 通常情况下,如果设备已关闭且USB电缆已连接,显示器将唤醒几秒钟,显示电池动画。相反,我想让它启动 我怀疑这离金属很近。我必须在哪里进行修改? 在内核中,在Android平台中,还是隐藏在制造商的一些专有代码中?这将是一个非常低级别的固件功能,如果设备关闭,它将在没有Android任何部分的情况下运行。您需要做的更改在 这是启动的第一件事,它发生在C环境初始化之前,或者内核加载之前,甚至在用户空间或Android系统加载之前 引导加载程序可能会因编写它们的硬件而异,

我需要把它用在三星平板电脑上

通常情况下,如果设备已关闭且USB电缆已连接,显示器将唤醒几秒钟,显示电池动画。相反,我想让它启动

我怀疑这离金属很近。我必须在哪里进行修改?
在内核中,在Android平台中,还是隐藏在制造商的一些专有代码中?

这将是一个非常低级别的固件功能,如果设备关闭,它将在没有Android任何部分的情况下运行。

您需要做的更改在

这是启动的第一件事,它发生在C环境初始化之前,或者内核加载之前,甚至在用户空间或Android系统加载之前


引导加载程序可能会因编写它们的硬件而异,但它们几乎没有什么秘密,现在您知道要使用哪些关键字了,您应该能够找到您要查找的信息

XDA上的一名成员发布了一个关于这一点的建议,该建议似乎适用于一些三星设备

我们的想法是将电池图标的脚本(当然,一旦设备插上电源,它就会出现)替换为一个可以引导手机的自定义脚本。要执行此操作,请找到
/system/bin/playlpm
。将旧的
playlpm
重命名为
playlpm.bak
,并将其替换为以下脚本:

#!/system/bin/sh
/system/bin/reboot

有关更多信息,请阅读XDA上的线程

我有一个三星S4迷你版。以下步骤对我有效:

  • mount-o重新安装,rw/系统
  • mv/system/bin/lpm/system/bin/lpm.orig
  • 创建
    /system/bin/lpm
    ,如下所示:

    #!/system/bin/sh
    /system/bin/lpm.orig &
    while [ true ]; do
      sleep 1
      ps | grep lpm.orig && sleep 3 && /system/bin/reboot
    done
    
  • chown root.shell/system/bin/lpm


  • 这些答案使我找到了解决办法。我在三星Galaxy Tab S上使用它。对于其他平板电脑,系统安装的路径将不同。要找到它,请在adb shell中使用此命令

    cat/proc/mounts | grep系统

    我遇到的一个问题是,在我更改lpm文件后,平板电脑启动到恢复模式,但这是因为我修改了旧的lpm文件并创建了一个新的lpm文件,并且没有设置正确的权限和所有权。改用cp解决了这个问题。我在平板电脑上设置此功能的唯一方法是:

    mount -o remount,rw /dev/block/platform/dw_mmc.0/by-name/SYSTEM /system && cp /system/bin/lpm /system/bin/lpm_orig && echo "#!/system/bin/sh\n/system/bin/reboot" > /system/bin/lpm
    

    在我的S4 mini GT-i9291上,Thorsten列出的上述程序只进行了一次修改:添加“su”


    Tks

    这是您将获得的最低级别的功能。我不确定安卓卡的bios是如何工作的,但它可能会在那里。如果没有,因为它会在插入时打开显示器,您可以通过查看引导加载程序来找到位置。您好,我有一个Cyanogenmod设备,您知道如何在Cyanogenmod上执行此操作吗?谢谢,我有一个Cyanogenmod设备,你知道我怎么在Cyanogenmod上做这个吗?谢谢
    #!/system/bin/sh
    su
    mount -o remount,rw /system
    /system/bin/lpm.orig &
    while [ true ]; do
    sleep 1
    ps | grep lpm.orig && sleep 3 && /system/bin/reboot
    chown root.shell /system/bin/lpm
    done