今天刚接触这玩意,试着写点Demo玩玩, 功能要求能自动登陆,在登陆前要先清空游戏的缓存数据,不然游戏就自动登陆了(无法切到账号输入窗口)
本想写图色脚本来实现吧,多种品牌的手机,多种模拟器,多种桌面主题,显然这种方法不可行,看来要从根本上解决问题就得来点猛药了,经过几秒钟的思考和百度,发现这货居然可以调用 LUA脚本,来到插件目录一看,全是Lua文件,我们打开 File.lua文件,看到如下代码 ::
======================================================================
function QMPlugin.Read(FileName)
local ReadContent
--下面用pcall把可能产生运行时错误的部分包裹起来,避免文件打开失败的时候,引起脚本中止
pcall(
function()
io.input(FileName)
ReadContent = io.read("*a")
io.close()
end)
return ReadContent
end
=============================================================
看到io.xxxx什么了吗,是不是很熟悉(虽然我没有开发过java安卓,但大概知道这个IO肯定是系统API中的一个对象)
百度 查得 清空安卓应用缓存的命令是这样的
pm clear packagename(packagename = 包名)
在Java下是这样调用的
os.execute("pm clear packagename")
那么 我们改一下上面的函数为::
=============================================================
function QMPlugin.ClearAppInfo(PackageName)
pcall(
function()
os.execute("pm clear "..PackageName) //lua中连接字符串使用 .. (两个点)
end)
end
==============================================================
在.info文件中添加注释
"ClearAppInfo" :
{
"Description" : "格式:AndroidHelper.ClearAppInfo(APP包名)\n解释:清除指定APP的缓存数据",
"TranslateTemplate" : "清除指定APP的缓存数据"
},
保存,重启按键精灵,回到脚本里测试
----------------------------------
import "File.lua" //导入插件
//调用插件函数
File.ClearAppInfo("你的包名")
--------------------------------
居然成功了。。。
好吧,上面只是简单举个栗子 ,知道原理了,后面你想做什么关机啊,重启啊,控制音量,卸载程序之类的应该都可以实现
我单独把这个函数单独写成了插件,大家如果有空,可以添加更多功能进去,不要忘记分享噢。。。
把插件复制到 plugin文件夹内后,重启按键精灵就生效啦.。