一、先决条件
1.驱动 #一般手机插入会安装驱动的,不赘述
2.获取root权限 #自己网上查,这步过不去,后面就不要看了先~,一般可以通过刷开发版ROM获取
3.安装busybox.apk #安装busybox来支持类linux的一些指令操作
二、PC端通过adb shell链接手机
1.查看adb可连接的设备:adb devices
2.登录adb方式:
adb root #root权限很重要,涉及到后面是否可以解除只读
adb remount
adb shell
三、功能安装:
1.term-init.sh #init.d功能 下载:term-init.sh
2.SP8CRON #crond功能 下载:SP8CRON
安装过程参考链接:
http://blog.sina.com.cn/s/blog_5374096d0101jmel.html
https://blog.csdn.net/tianjiewang/article/details/100710262
四、这些都搞定之后,就可以开始设置计划任务啦!
计划任务文件,和linux书写格式相同:/data/cronjob/root
例1(每天16点拨打电话):
echo '0 16 * * * am start -a android.intent.action.CALL tel:1313131313' >> /etc/cron.d/root
例2(自定义时间进行电话呼叫转移到18888888888)
echo '0 16 * * * am start -a android.intent.action.CALL tel:**21*18888888888%23' >> /etc/cron.d/root #此处的%23为'#'号的转义符,不转义无法成功哦
更多新花样等你来发现
五、虽然站在前辈们的巨人肩膀但过程中还是遇到的一些小问题,如下:
1.无法执行计划任务,查看日志有如下报错:
crond: child running /bin/sh
crond: can't execute '/bin/sh' for user root
解决方法:ln -s /system/bin/sh /bin/sh ,如果提示file system read-only, mount -o rw,remount / 然后再操作。
参考链接:
https://stackoverflow.com/questions/16747880/how-to-use-crontab-in-android
2.接上面的问题,手机重启后可能软连接会失效,需要每次手动重新建立
解决方法:如果没有read-only问题,就直接在/etc/init.d/下的脚本追加一条:ln -s /system/bin/sh /bin/sh
如果有read-only问题,那就先追加remount 然后再追加软连接。
重启手机后查看crontab日志测试结果
3.adb shell中ls时文件名乱码问题
解决方法:alias ls='ls --color=never' #关闭颜色显示
4.暂时想不起来其他的了,有问题可以留言