0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自动激活Shizuku

汽车电子威廉希尔官方网站 来源:安卓脚本 作者: 稻草人 2023-03-03 13:50 次阅读

哟...好久没更新文章了.嘿嘿, 今天得空儿,更新一篇~

关于adb权限老生常谈的问题,Shizuku的激活状态莫名其妙掉了再次激活很麻烦,所以啊在执行需要用到ADB权限的脚本时,在脚本代码前加上我今天讲的知识,就无须担心这个问题.检测如果没有adb权限.就自动去激活一下Shizuku. 首先说一下整个流程的原理.

关于无线ADB:

无线ADB就是在手机上打开一个adb的端口. 默认是 5555, 但是开这个端口的前提是.需要手机连接电脑打开手机的adb调试之后,在电脑的终端上执行一条命令

adb tcpip 5555

执行之后无线ADB算是开放了.此时拔掉数据线. 在终端输入

adb connect 192.168.1.80 #自己替换成自己手机的IP


connected to 192.168.1.80:5555 #出现这个提示,说明连接成功了

这就是无线的方式连接adb调试, 但是它有一个弊端.就是每次重启后这个adb的端口就会被重置了,需要重新连接数据线进行开启

关于Termux:

Termux之前讲过是一个Android端的终端仿真器,有很多的软件可安装.这里面就需要用到adb工具了, adb这个可执行程序在android-tools这个软件包中,需要在Termux里面先安装它,安装命令如下:

pkg install -y android-tools

加-y参数会直接跳过确认提醒直接一步安装完毕.我就不截图了,你们自己执行一下就好.安装完毕后Termux的准备也就完成了.

Shizuku激活命令:

adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

图片

执行阶段:

关于Autojs如何调用Termux. 原理和方法请参考上一篇发的文章

传送门: 利用Autojs调用termux的内部命令

注意这篇文章一定要看. 否则你的Termux不能从外部被调用的. 需要改包.因为Autojs没有调用Termux的权限.

这里我需要Ctrl+CV一下. 请骚等我一下...

图片

好了...代码copy完成了

//判断autojs是否有adb权限
let adbCheck = $shell.checkAccess("adb");
if (!adbCheck) {
    console.log("没有adb权限");
    app.launchApp("Termux");
    let szkCommand = "adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh";
    runShellToTermux(szkCommand);
} else {
    console.log("已有adb权限");
}


//将autojs的shell切换到adb权限
$shell.setDefaultOptions({adb: true});


//在此之后执行你需要的操作










/**
 * 使用termux终端执行shell命令
 * @param {string}  cmd          需要执行的命令
 * @param {string}  workdir      shell的工作目录 不填则默认 "/sdcard/脚本/"
 * @param {boolean} backgound    是否前台运行 不填则默认后台运行
 * @return {void}   没有返回值
 */
function runShellToTermux(cmd, workdir, backgound) {
    let shellStr = cmd;
    let workDir = workdir || "/sdcard/脚本/";
    let bg = backgound || true;

    let strArry = shellStr.split(" ");
    let strArryLength = strArry.length - 1;
    let command = strArry[0];

    let per = util.java.array('string', strArryLength);
    for (let i = 0; i < strArryLength; i++) {
        per[i] = strArry[i+1];
    }

    let intent = new Intent();
    intent.setClassName("com.termux", "com.termux.app.RunCommandService");
    intent.setAction("com.termux.RUN_COMMAND");
    intent.putExtra("com.termux.RUN_COMMAND_PATH", "/data/data/com.termux/files/usr/bin/" + command);
    intent.putExtra("com.termux.RUN_COMMAND_ARGUMENTS", per);
    intent.putExtra("com.termux.RUN_COMMAND_WORKDIR", workDir);         //工作目录
    intent.putExtra("com.termux.RUN_COMMAND_BACKGROUND", bg);        //是否后台运行
    intent.putExtra("com.termux.RUN_COMMAND_SESSION_ACTION", "0");
    context.startService(intent);
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4780

    浏览量

    68531
  • 脚本
    +关注

    关注

    1

    文章

    389

    浏览量

    14858
  • adb
    adb
    +关注

    关注

    1

    文章

    35

    浏览量

    10420
收藏 人收藏

    评论

    相关推荐

    windows xp SP2激活工具(详细步骤说明怎么激活,如何操作)

    Windows的激活窗口然后等待几秒.4)打开一个新窗口 打开,WPA.exe文件,单击“apply/browse按钮”,然后关闭wpa.exe窗口。 自动打开一个新的窗口,选择“激活windows
    发表于 01-17 17:39

    黑暗激活继电器

    黑暗激活继电器 把
    发表于 09-22 17:26 608次阅读
    黑暗<b class='flag-5'>激活</b>继电器

    Win7旗舰版激活工具

    Win7旗舰版激活工具Windows7旗舰版激活软件 激活工具
    发表于 03-10 11:56 0次下载

    NI软件激活

    labview、multisim、CVI等软件激活器。
    发表于 03-31 14:15 4次下载

    微辰金服|不激活的信用卡会自动注销吗

      信用卡一直不激活会不会就自动注销了呢?下面就让微辰金服为大家介绍一下吧。  根据信用卡的有效期来看的,一般信用卡的有效期为3-5年,标注在信用卡的正面,在此期间内,信用卡可以随时进行激活
    发表于 01-15 15:50 666次阅读

    windows怎么激活没有密钥

    首先,检查Win10专业版的激活状态:点击桌面左下角的“Windows”按钮,从扩展面板依次点击“设置”—“更新与安全”,切换到“激活”选项卡,可以查看当前系统激活状态。
    的头像 发表于 12-23 15:20 5.4w次阅读

    iphone跳过id激活教程

     iphone如何跳过id来进行激活呢?iphone跳过id激活方法如下:
    的头像 发表于 09-18 10:53 5.5w次阅读

    win10激活工具免费激活

    win10激活工具一键永久激活免费版下载入口。
    发表于 04-07 14:43 0次下载

    具有自动亮度调节功能的运动激活

    电子发烧友网站提供《具有自动亮度调节功能的运动激活灯.zip》资料免费下载
    发表于 11-14 10:18 0次下载
    具有<b class='flag-5'>自动</b>亮度调节功能的运动<b class='flag-5'>激活</b>灯

    S7-1500从站的激活与取消激活

    通过指令“D_ACT_DP”,可根据需要取消激活激活所组态的 DP 从站/PROFINET IO 设备。另外,还可查询每个指定的 DP 从站或 PROFINET IO 设备当前是启用还是禁用。
    的头像 发表于 01-11 11:17 1868次阅读

    Shizuku的启动

    首先使用MT管理器提取出shizuku的apk安装包.点击定位跳转到安装包的提取位置. 点击提取的安装包,在弹出的悬浮窗中选择"查看"按钮
    的头像 发表于 03-03 13:49 5282次阅读
    <b class='flag-5'>Shizuku</b>的启动

    Windows激活工具

    直接激活Windows7,8,10 家庭版,专业版还可激活office 2010,2013,2016,2019 及各版本专业增强版
    发表于 04-17 11:20 5次下载

    激活CPU的系统诊断并在HMI上调用

    这里将激活“S7-300 Master”CPU 的系统诊断。 如果激活了系统诊断,则在下一次编译硬件时将自动生成诊断所需的所有报警和块。
    的头像 发表于 04-15 10:13 747次阅读

    一个简单的设备激活器电路

    设备激活器是能够使用简单组件切换大功率电器的电路。通常,设备激活器电路使用简单的按钮和开关作为激活元件来触发设备的操作。然而,在这个设备激活器中,一个简单的家用遥控器将充当
    的头像 发表于 06-29 16:05 880次阅读
    一个简单的设备<b class='flag-5'>激活</b>器电路

    自动M&M启动器-使用Alexa激活

    电子发烧友网站提供《全自动M&M启动器-使用Alexa激活.zip》资料免费下载
    发表于 07-04 10:03 0次下载
    全<b class='flag-5'>自动</b>M&M启动器-使用Alexa<b class='flag-5'>激活</b>