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
命令自己应该都会修改吧.只要修改自己的脚本名字即可