说明
本文提供的代码仅供参考。
可能有些地方在最新版本的Auto.js上面需要做修改,才能运行。
Auto.js简介
Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。
与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。
Auto.js使用JavaScript作为脚本语言,目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性。
开发文档
Auto.js Pro开发文档优化版
文档尚在完善中,可能有文档描述和代码实际行为有出入的情况。
模板、样式、generator来自Node.js。
为什么要使用Auto.js Pro开发脚本,有什么特点?
吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:
- Auto.js Pro能开发免ROOT的安卓脚本
- Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型
- Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面
- Auto.js Pro使用的javascript的语法比较优雅,代码可读性强
- Auto.js Pro的命令库非常的丰富,接口比较多
- Auto.js Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告
相关教程
Auto.js Pro安卓全分辨率免ROOT引流脚本开发教程
示例代码
//此代码由飞云脚本圈整理提供(www.feiyunjs.com)
"ui";
ui.layout(
<frame background="#515155">
<vertical align="top" margin="30">
<linear>
<text textSize="20sp" textStyle="bold">当前的IP地址:</text>
<text id="iip" textSize="26sp"/>
</linear>
<linear>
<input id="num" layout_weight="1" bg="#ffffff" h="45" paddingLeft="10sp" maxLines="1" hint="IP地址" alpha="0.5"/>
<button h="55" w="70" id="ok" text="查询" />
</linear>
<linear>
<text textSize="26sp" text="您查询的的IP:"/>
<text id="ipp" h="30" w="auto" textSize="18sp"/>
</linear>
<linear>
<text textSize="26sp" text="国家:"/>
<text id="gjia" h="30" w="auto" textSize="18sp"/>
</linear>
<linear>
<horizontal>
<text textSize="26sp" text="省份:"/>
<text id="sff" h="30" w="auto" textSize="18sp" />
</horizontal>
</linear>
<linear>
<horizontal>
<text textSize="26sp" text="地区:"/>
<text id="dqq" h="30" w="auto" textSize="18sp" />
</horizontal>
</linear>
<linear>
<horizontal>
<text textSize="26sp" text="运营商:"/>
<text id="ysss" h="40" w="auto" textSize="18sp" />
</horizontal>
</linear>
</vertical>
</frame>
);
threads.start(function() {
var iipp=iip();
ui.post(() => {
ui.iip.setText(iipp);
});
asd(iipp);
});
ui.ok.click(function() {
threads.start(function() {
let sd = ui.num.text();
if (sd) {
let sum = chaip(sd);
if (sum) {
ui.run(() => {
ui.ipp.setText(sum.data.ip);
ui.gjia.setText(sum.data.country);
ui.sff.setText(sum.data.region);
ui.dqq.setText(sum.data.city);
ui.ysss.setText(sum.data.isp);
});
}
}
});
});
ui.ok.on("long_click", () => {
ui.num.setText("");
});
ui.iip.click(function() {
let ssj = ui.iip.text();
if (ssj) {
setClip(ssj);
toast("复制成功");
}
});
ui.gjia.click(function() {
let cvb = ui.gjia.text();
if (cvb) {
setClip(cvb);
toast("复制成功");
}
});
ui.sff.click(function() {
let sffj = ui.sff.text();
if (sffj) {
setClip(sffj);
toast("复制成功");
}
});
ui.sff.click(function() {
let sffj = ui.sff.text();
if (sffj) {
setClip(sffj);
toast("复制成功");
}
});
ui.dqq.click(function() {
let dqqd = ui.dqq.text();
if (dqqd) {
setClip(dqqd);
toast("复制成功");
}
});
ui.ysss.click(function() {
let qhh = ui.ysss.text();
if (qhh) {
setClip(qhh);
toast("复制成功");
}
});
function iip() {
var getIp_api = http.get('http://pv.sohu.com/cityjson?ie=utf-8');
var InetIP = getIp_api.body.string();
eval(InetIP);
return returnCitySN.cip;
}
function chaip(ble) {
ui.run(() => {
ui.sff.setText("");
ui.dqq.setText("");
ui.ysss.setText("");
});
//var numbel = "221.13.63.81";
var url = "http://ip.taobao.com/service/getIpInfo.php?ip=";
var html = http.get(url + ble, {
headers: {
'Accept-Language': 'zh-cn,zh;q=0.5',
'User-Agent': 'Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11'
}
}).body.json();
return html;
}
function asd(dd){
let sum = chaip(dd);
if (sum) {
ui.run(() => {
ui.ipp.setText(sum.data.ip);
ui.gjia.setText(sum.data.country);
ui.sff.setText(sum.data.region);
ui.dqq.setText(sum.data.city);
ui.ysss.setText(sum.data.isp);
});
}
}