找回密码
 注册成为果猿

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
  • 姬器插件

浮生一梦,寄情山海

嗨~小伙伴们大家好!安卓按键的插件可以实现很多按键本身无法实现的功能,所以有些同学就会很羡慕会写插件的人。其实呢~~安卓按键的插件并没有那么的复杂,一些功能其实直接通过按键代码的封装也能实现,另外一些设备命令的话就是通过linux或者adb的命令行来实现的。今天就教大家如何直接在按键里实现插件的功能。

浮生一梦,寄情山海

浮生一梦,寄情山海


>>>>山海插件教程目录<<<<


相关命令:
命令名称:Execute
命令功能:执行shell命令  
参数:参数1【必要】:字符串,shell命令
返回值:命令执行成功返回true


了解lua语言的同学就能知道这个其实就是lua当中的os.execute命令,相当于是用来执行一些常见的linuxadb shell的命令

目前这个命令我只是简单的封装了原始的lua命令,所以只能返回命令本身是否执行成功。想要获取到命令的结果,可以看下面的教程

【范例】

重启:
// reboot 是adb shell命令中的重启指令

Call shanhai.Execute("reboot")


关机:
// reboot -p 是adb shell命令中的关机指令

Call shanhai.Execute("reboot -p ")


设置输入法:
Import "ShanHai.lua"

// 设置搜狗输入法

Call shanhai.Execute("ime set com.sohu.inputmethod.sogou/.SogouIME")

ime 命令是adb shell命令里和输入法有关的命令,可以用来获取输入法和设置输入法,后面是跟上输入法的组件。
这个组件名可以通过山海插件里的GetIME来获取到。
在插件里的设置输入法命令,本身只附带有11种输入法,如果大家设备上有安装其他的输入法的话,那就可以利用execute这个命令自己去切换输入法了


上面的命令都是用于设置,那如果想要获取一些信息该如何实现呢?

前面有说过,目前这个命令是只能返回是否执行成功,要想把执行的结果输出的话就得借助cmd命令里的重定向到文件的符号(>),这个功能可以把命令的结果写入到一个文本里,之后我们再去读取这个文本就好了。

【范例】

获取设备电源信息:
Import "ShanHai.lua"



Dim ret = shanhai.Execute("dumpsys battery > /sdcard/tmp.txt")

Dim text

If ret Then 

    TracePrint "命令执行成功"

    text = file.Read("/sdcard/tmp.txt")

    TracePrint text

Else 

    TracePrint "命令执行失败"

End If

dumpsys battery 是adb shell命令,用来获取电源相关信息,"dumpsys battery > /sdcard/tmp.txt" 这命令的意思就是把“dumpsys battery”的结果写入到“/sdcard/tmp.txt”这个文件里
之后我们再通过去读取这个文件的内容就能知道结果了。

那我们可以根据这个操作来封装一个获取执行结果的函数:
Import "ShanHai.lua"



Function execute(cmd)

    Dim path = GetSdcardDir() & "/tmp.txt"

    Dim ret = shanhai.Execute(cmd & " > " & path)

    If ret Then 

        execute = file.Read(path)

    Else 

        execute = ""

    End If

End Function



// 获取电源信息

TracePrint execute("dumpsys battery")



// 获取设备内存占用信息

TracePrint execute("dumpsys meminfo")


OK~~那这个命令就介绍到这里。有了这个命令,就可以直接在按键里去实现插件的功能了。很多命令都是需要依靠linux或者adb shell命令来实现的。命令能实现的功能有非常多,这里就不具体介绍了,在网上可以找到非常丰富的教程,大家可以自行百度~~


玩转山海

玩转山海

0人点赞
浮生若梦,梦移山海

大神点评2

33.jpg
2022-1-18 11:55:18

您需要登录后才可以回帖 登录 | 注册成为果猿 微信登录

返回顶部