有人问我一个关于Android手机root与否的问题,她说明明iTools显示已取得root权限,但她就是没法在该手机上运行需要root权限的App如钛备份等等.我告诉她最好的确认方式便是以adb指令进到 /data/data路径之下,再执行 ls –al,若能顺利得到执行结果,而不会提示”Permission denied”,便是已root成功,如下图所示.
那她又问道,怎么她在操作adb指令时,无法改动文件的权限? Android的核心不也是Linux吗?
是的,Android的核心是Linux没错,但是adb并未具备完整指令集,所以在指令方面,与在Linux/Unix上稍有不同.其中最明显之处,便是使用chmod指令.
当以adb指令操作时,指令 chmod a+x test.sh 会出现”Bad Mode”的错误讯息.
但若以SSH连入Android手机,再执行指令chmod a+x test.sh,则可顺利为test.sh加上执行权限.
那难道以adb指令操作Android手机,就无法以chmod指令改变文件权限了吗?其实可以,只要以阳春的数字表示法做为参数即可.举例来说,指令为
chmod 777 test.sh
则可为test.sh加上写入及执行权限.