Запустить сценарий оболочки при загрузке / запуске - PullRequest
1 голос
/ 19 сентября 2019

Прежде всего, мой рутированный телефон - Xiao Mi Red Mi Note 7.

Версия MIUI: 10.2.3.

Версия Android: 9 PKQ1.180904.001.

Сценарий оболочки:

set -xeo pipefail

_stopnow() {
  test -f stopnow && echo "Stopping!" && rm stopnow && exit 0 || return 0
}

while true

do

    _stopnow

    am instrument -w -r   -e debug false -e class com.package.mobile.name com.package.mobile.test/android.support.test.runner.AndroidJUnitRunner

done

Что я пробовал:

  1. Использование SManager Версия: 3.0.9

enter image description here

Вывод этого метода: Убит

Использовать service.rc в / system / etc / init

Поскольку у меня нет папки /init.d, я использую / init вместо.

У меня есть файл с именем / system / etc / init / mypackagepipefail.rc и / system / bin / runpipefail

mypackagepipefail.rc

on boot
    start /system/bin/runpipefail
    user system
    group system readproc

runpipefail

#!/bin/sh

set -xeo pipefail

_stopnow() {
  test -f stopnow && echo "Stopping!" && rm stopnow && exit 0 || return 0
}

while true
do
    _stopnow
    # Below here, you put in your command you want to run:
    am instrument -w -r   -e debug false -e class com.airasia.mobile.BigpayTest com.airasia.mobile.test/android.support.test.runner.AndroidJUnitRunner

Вывод этого метода: похоже, что служба не запускается при запуске / загрузке.

Есть ли что-тонеправильно в использовании service.rc выше?Есть ли другой способ запуска сценария оболочки при загрузке?

Любая помощь будет очень полезной.Большое спасибо.

1 Ответ

0 голосов
/ 28 сентября 2019

Я только что понял, что мы можем запустить скрипт с узлом js.Поэтому я использую Dory Js и работаю с shelljs.Посмотрите на это.

Как запустить файл сценария оболочки с помощью nodejs?

...