crontab依赖于crond服务,安卓手机上默认是安装了这个服务的,只是在使用命令

crontab -l

的时候总是报这个错误: unknown uid 0

即便使用root权限去执行仍然报这个错误.

在使用autojs来设置定时任务的时候,锁屏后长时间不激活autojs,就会使autojs的计划任务失效(华为手机测试是这样的).那么突发奇想,能否像linux那样使用crontab来设置计划任务呢,于是百度谷歌了一下,还真发现了方法.

虽然还没有经过长时间的测试 来验证此方法的可行性,但是先写一篇安装教程吧

那么本篇帖子则讲一下如何在安卓机上使用crontab来设置一些计划任务.

首先需要准备的环境:

  • 获取了root权限的手机一部
  • 有adb环境或者终端模拟器
  • 下载文件SP8-CRON_v2.zip
  • 手机激活了init.d (重要)

安装过程:

  • 下载 SP8-CRON_v2.zip 解压后,将文件放置到手机的内部存储中
    确保能访问到即可.
  • 使用adb连接手机,连接成功后,使用root身份
    输入 su 切换到root权限
  • 切换到SP8-CRON_v2的目录,在目录中执行命令
sh Install.sh

等待安装完毕后,手机会重启.重启后crontab内的计划任务则开始生效了.

里面有默认的3条计划任务,想删掉就删掉.

crontab的设置规则以及验证请参考下面网址:

  • 简单的参考和验证:http://www.atool.org/crontab.php
  • crontab详细介绍:百度百科

编辑时间: 2018-05-22 11:08
经过长时间的测试,发现这个crontab是可以后台自动运行的只不过他默认使用的是UTC时间,与我们系统的时间有时差,无论你后台是否有进程限制,或是锁屏冻结所有应用,他都可以准时运行,只不过时间需要自己设置好,搭配shell命令启动autojs脚本,可以完美的做一些骚操作.各位同学,是时候秀一下你的安卓手机了…

shell启动autojs脚本命令:

am start -n org.autojs.autojs/.external.open.RunIntentActivity -d /sdcard/脚本/xxx.js  -t application/x-javascript

命令自己应该都会修改吧.只要修改自己的脚本名字即可。

发表回复

后才能评论