Prechádzať zdrojové kódy

Feature: add autostart at boot

wudi 4 rokov pred
rodič
commit
f0d955316d
4 zmenil súbory, kde vykonal 20 pridanie a 1 odobranie
  1. 2 1
      README.md
  2. BIN
      apk/com.termux.boot_7.apk
  3. 16 0
      install.sh
  4. 2 0
      start_fg.sh

+ 2 - 1
README.md

@@ -8,7 +8,8 @@
 1. 提示输入mobile_id时输入,比如`agency01`
 1. 首次安装,提示打开已安装的Termux,等待它初始化完成,然后按回车继续脚本执行
 1. 安装提示Final step,打开Busybox,点击INSTALL,允许ROOT,等待完成
-1. 进入应用权限管理-Termux,将权限都调整为允许、开启
+1. 进入应用权限管理-Termux和Termux:boot,将权限都调整为允许、开启
+1. 【实验中】打开一次Termux:boot,它会自动设置开机自启;重启手机,如果出现ROOT弹框,说明开机自启生效,允许即可
 
 ## 日常步骤
 以下操作都在Termux终端里进行

BIN
apk/com.termux.boot_7.apk


+ 16 - 0
install.sh

@@ -7,13 +7,28 @@ install_tools () {
         set -x
         adb install -r apk/Termux_v0.118.0_apkpure.com.apk
         adb install -r apk/ru.meefik.busybox_46.apk
+        adb install -r apk/com.termux.boot_7.apk
     )
 }
+setup_auto_boot () {
+    echo "Setup experimental Termux:boot for auto-start"
+    set -e
+    (
+        set -x
+        TX_UID=`adb shell su - stat -c "%U" /data/data/com.termux/files/home|xargs`
+        adb shell 'su - mkdir -p /data/data/com.termux/files/home/.termux/boot/'
+        adb shell 'su - mv -f /sdcard/crond.sh /data/data/com.termux/files/home/.termux/boot/'
+        adb shell 'su - chmod 555 /data/data/com.termux/files/home/.termux/boot/crond.sh'
+        adb shell "su - chown -R ${TX_UID}:${TX_UID} /data/data/com.termux/files/home/.termux/boot"
+    )
+    echo "Success, launch Termux:boot once to activiate it."
+}
 copy_scripts () {
     sed "s/AGENCY_ID/${1}/g" exec.sh.in > exec.sh
     adb push exec.sh /sdcard/wechat/exec.sh
     adb push crontab /sdcard/
     adb push start.sh /sdcard/start.sh
+    adb push start_fg.sh /sdcard/crond.sh
     adb shell "su - [ -d /data/data/com.termux/files/home ]"
     if [ "$?" = "1" ]; then
         read -p "Launch Termux for its bootstraping, press any key when completed"
@@ -21,6 +36,7 @@ copy_scripts () {
     adb shell 'su - mv -f /sdcard/start.sh /data/data/com.termux/files/home/start.sh'
     adb shell 'su - chmod 555 /data/data/com.termux/files/home/start.sh'
     echo "Final step: install Busybox MANUALLY and execute ./start.sh in Termux at every time startup"
+    setup_auto_boot
 }
 HAS_DEVICE=`adb devices|wc -l|xargs`
 if [ "$HAS_DEVICE" = "3" ]; then

+ 2 - 0
start_fg.sh

@@ -0,0 +1,2 @@
+#!/data/data/com.termux/files/usr/bin/bash
+su - /system/xbin/crond -f -d1 -L /sdcard/crontab.log -c /sdcard/crontab