IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> shell脚本 -> 正文阅读

[移动开发]shell脚本

牙叔教程 简单易懂

目标

用autojs执行shell脚本, 脚本所在目录为 /data/local/tmp

缘起

做息屏运行脚本, 要用到类似的方法,

比如息屏使用adb去调用dex文件, 来达到息屏效果,

两者相同的地方是

  • 都要复制文件到 /data/local/tmp文件夹下
  • 都要修改权限, 命令为 chmod 777 filename 或者 chmod +x filename

环境

手机: Mi 8

Android版本: 10

Autojs版本: 9.0.10

代码讲解

1. 复制文件到 data/local/tmp
cmd = "cp /sdcard/yashu.sh /data/local/tmp/yashu.sh";
r = shell(cmd);
log(r);
// ShellResult{code=1, error='cp: /data/local/tmp/yashu.sh: Permission denied
', result=''}

非常不幸, 没有权限, 复制文件失败,

所以我们需要要提高权限, Shizuku可以提升我们的权限到adb级别,

Shizuku的使用请查阅上一篇教程, 激活Shizuku

将权限提升为adb级别之后, 我们重新复制文件

首先, 检查有没有adb权限

let adbCheck = $shell.checkAccess("adb");
if (!adbCheck) {
  console.log("没有adb权限, 请先使用shizuku激活autojs的adb权限");
  exit();
} else {
  console.log("已有adb权限");
}

复制文件

$shell.setDefaultOptions({ adb: true });
cmd = "cp /sdcard/yashu.sh /data/local/tmp/yashu.sh";
r = $shell(cmd);
log(r);
// ShellResult{code=0, error='', result=''}

查看文件yashu.sh权限

$shell.setDefaultOptions({ adb: true });
cmd = "ls -al /data/local/tmp/yashu.sh";
r = $shell(cmd);
log(r);
// ShellResult{code=0, error='', result='-rw-rw---- 1 shell shell 84 2021-10-15 17:43 /data/local/tmp/yashu.sh
'}

可以看到权限是-rw-rw----, 没有执行权限, 接下来, 我们就添加执行权限

2. 添加执行权限
$shell.setDefaultOptions({ adb: true });
cmd = "chmod +x /data/local/tmp/yashu.sh";
r = $shell(cmd);
log(r);
// ShellResult{code=0, error='', result=''}

code=0, 0表示没有发生错误, 没有错误就意味着, 命令正常执行,

再次查看文件yashu.sh权限

$shell.setDefaultOptions({ adb: true });
cmd = "ls -al /data/local/tmp/yashu.sh";
r = $shell(cmd);
log(r);
// ShellResult{code=0, error='', result='-rwxrwx--x 1 shell shell 84 2021-10-15 17:46 /data/local/tmp/yashu.sh
'}

可以看到权限是-rwxrwx–x, 有了执行权限, 接下来, 我们就执行这个shell脚本

3. 执行shell脚本

shell脚本内容

#!/bin/bash
echo "牙叔教程 简单易懂"
author="牙叔"
echo "作者: $author"

执行shell脚本的命令

$shell.setDefaultOptions({ adb: true });
cmd = "sh /data/local/tmp/yashu.sh";
r = $shell(cmd);
log(r);
// ShellResult{code=0, error='', result='牙叔教程 简单易懂
// 作者: 牙叔
// '}

备注

息屏运行脚本使用到的命令与执行shell脚本类似, 这也是我写这篇教程的原因,

方便以后复制黏贴

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问
— 牙叔教程

声明

部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

bilibili

牙叔教程

微信公众号 牙叔教程

在这里插入图片描述

QQ群

747748653
在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:45:19  更:2021-10-16 19:46:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:26:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码