源码编写于2022年,需自行改动控件信息后方可使用
源码如下
"ui";
importClass(android.view.View);
importClass(android.content.res.ColorStateList);
importClass(android.graphics.drawable.GradientDrawable);
importClass(android.net.Uri);
importClass(android.provider.Settings);
const ScriptName = "[造雾者]今日头条极速"
const AllColor = "#000000"
const alpha = 0.7
const Console = "运行日志"
var 作者 = "造雾者"
var 头像 = "https://z3.ax1x.com/2021/06/04/2Ge13R.png"
var 脚本包名 = "anran.jrtt"
var qq = 1340468168
const resources = context.getResources();
// 获取状态栏高度
const resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
const statusBarHeight = context.getResources().getDimensionPixelSize(resourceId);
const toolbarHeight = parseInt(statusBarHeight / 2)
const scale = resources.getDisplayMetrics().density;
var dp2px = dp => {
return Math.floor(dp * scale + 0.5);
};
var px2dp = px => {
return Math.floor(px / scale + 0.5);
};
var SystemUiVisibility = ve => {
var option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | (ve ? View.SYSTEM_UI_FLAG_LAYOUT_STABLE : View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
activity.getWindow().getDecorView().setSystemUiVisibility(option);
};
var ButtonLayout = function() {
importClass(android.graphics.Color);
importClass("androidx.core.graphics.drawable.DrawableCompat");
util.extend(ButtonLayout, ui.Widget);
function ButtonLayout() {
ui.Widget.call(this);
this.defineAttr("leftDrawable", (view, attr, value, defineSetter) => {
view.widget.mLeftDrawable = value;
var lDrawable = context.getResources().getDrawable(getResourceID(value));
lDrawable.setBounds(0, 0, view.widget.mLeftDrawableSize, view.widget.mLeftDrawableSize);
let wrappedDrawable = DrawableCompat.wrap(lDrawable);
DrawableCompat.setTint(wrappedDrawable, Color.parseColor("#FFFFFF"));
view.setCompoundDrawables(lDrawable, null, null, null);
});
};
ButtonLayout.prototype.mLeftDrawable = null;
ButtonLayout.prototype.mLeftDrawableSize = dp2px(25);
ButtonLayout.prototype.render = function() {
return (
<TextView
bg="?attr/selectableItemBackground"
gravity="left|center_vertical"
textColor="#FFFFFF"
textStyle="normal"
typeface="monospace"
padding="10"
drawablePadding="10" />
);
};
function getResourceID(name) {
var resource = context.getResources();
return resource.getIdentifier(name, "drawable", context.getPackageName());
};
ui.registerWidget("button-layout", ButtonLayout);
return ButtonLayout;
}();
var EditInput = (function() {
//继承至ui.Widget
util.extend(EditInput, ui.Widget);
function EditInput() {
//调用父类构造函数
ui.Widget.call(this);
//自定义属性color,定义input颜色
this.defineAttr("Editcolor", (view, name, defaultGetter) => {
return this._color;
}, (view, name, value, defaultSetter) => {
this._color = value;
view.getBackground().setColorFilter(Color.parseColor(value), android.graphics.PorterDuff.Mode.SRC_ATOP); //更改是input下标线颜色颜色
});
}
EditInput.prototype.render = function() {
return (
<input />
);
}
ui.registerWidget("EditInput", EditInput);
return EditInput;
})();
ui.statusBarColor(colors.TRANSPARENT);
ui.layout(
<frame>
<img id="侧边栏背景" w="*" h="*" scaleType="fitXY" src="https://i.loli.net/2021/04/14/OPKGsw86E4lSnQt.jpg"/>
<viewpager id="viewpager" >
{/**drawer侧边栏 */}
<relative w="*" clickable="true">
<relative id="drawerToolbar" marginTop="10" paddingTop="{{statusBarHeight}}px" >
<img id="icon" w="40" h="40" margin="20 0" scaleType="fitXY" circle="true" src="{{头像}}" />
<text id="title" layout_toRightOf="icon" layout_alignParentTop="true" w="auto" h="auto" text="{{作者}}软件社区" textSize="16sp" textStyle="bold" textColor="#ffffff" typeface="monospace" />
<text id="subtitle" layout_below="title" layout_toRightOf="icon" w="auto" h="auto" text="软件vip社区" textSize="12sp" textStyle="bold" textColor="#7fffffff" typeface="monospace" />
</relative>
<frame id="drawerFrame" layout_below="drawerToolbar" layout_above="drawerHorizontal" h="*" >
<list id="drawerList" w="auto" h="auto" padding="0 10" layout_gravity="center_vertical" >
<button-layout w="*" text="{{this.text}}" leftDrawable="{{this.drawable}}" />
</list>
</frame>
<horizontal id="drawerHorizontal" paddingBottom="{{statusBarHeight}}px" layout_alignParentBottom="true">
<button-layout id="settingsBtn" text="设置" leftDrawable="ic_settings_black_48dp" />
<View bg="#ffffff" w="2px" h="16" layout_gravity="center_vertical" />
<button-layout id="hasIgnored" text="更多脚本" textStyle="italic|bold" />
</horizontal>
</relative>
{/**界面 */}
<card id="card" cardElevation="0" cardCornerRadius="0" cardBackgroundColor="#000000">
<img id="界面背景" w="*" h="*" scaleType="fitXY" src="https://i.loli.net/2021/04/14/OPKGsw86E4lSnQt.jpg"/>
<frame h="*">
<vertical id="imageView" bg="#99f9f9f9">
<toolbar w="*" h="auto" marginTop="{{toolbarHeight+10}}px" layout_gravity="center">
<img id="icon1" w="30" h="30" margin="0 0" scaleType="fitXY" circle="true" layout_gravity="left" borderWidth="1" borderColor="{{AllColor}}" src="{{头像}}" />
<text w="auto" h="auto" text="{{ScriptName}}" textSize="21sp" textStyle="italic" textColor="#ffffff" typeface="monospace" layout_gravity="center" gravity="center" alpha="1" marginLeft="0" />
<img id="_exit" w="30" h="30" margin="9 0" scaleType="fitXY" circle="true" layout_gravity="right" tint="{{AllColor}}" src="@drawable/ic_power_settings_new_black_48dp" />
</toolbar>
<vertical >
<card margin="3 1" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="{{AllColor}}" alpha="{{alpha}}" >
<card margin="1 1" w="*" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="#161824">
<TextView id="tv_text" singleLine="true" ellipsize="marquee" textSize="12" focusable="true"
text="本作品仅供学习交流,不得用于任何商业以及非法用途,下载试用后请24小时之内自行删除,因使用软件造成的使用者以及任何网站的一切损失, 皆由使用者承担。如不接受本条款,请立即删除本软件,如不慎软件被破解,皆由破解者承担一切责任本作品仅供学习交流!请于24小时内自行删除!"
textColor="#ffffff" />
</card>
</card>
<card margin="3 1" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="{{AllColor}}" alpha="{{alpha}}" >
<card margin="1 1" w="*" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="#161824">
<vertical orientation="horizontal">
<Switch id="Maple_Accessibility" Thumbcolor="#55deee" Trackcolor="#55deee" text="无障碍服务" textColor="#ffffff" textStyle="italic" w="150" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="15sp" />
<Switch size="15sp" id="overlayService" text="悬浮窗权限" Thumbcolor="#55deee" Trackcolor="#55deee" textColor="#ffffff"textStyle="italic" w="150" checked=""textSize="15sp" padding="8 8 8 8" />
</vertical>
</card>
</card>
<card margin="3 1" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="{{AllColor}}" alpha="{{alpha}}" >
<card margin="1 1" w="*" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="#161824">
<vertical orientation="horizontal">
</vertical>
</card>
</card>
<card margin="3 1" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="{{AllColor}}" alpha="{{alpha}}">
<card margin="1 1" w="*" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="#161824">
<vertical>
<vertical gravity="left" textColor="black" >
<text text="评论内容(多条用 | 分隔):" textColor="#ffffff" />
<input id="评论内容" layout_weight="1" textSize="15sp" textColor="#DC143C" text="勾选随机评论后此处不需要填写"/>
</vertical>
<linear>
<text text="模式:" textColor="#ffffff" >
</text>
<spinner id="spinner" entries="宝箱|浏览" textColor="#ffffff" />
<button id="open" text="开始线程" style="Widget.AppCompat.Button.Borderless" textColor="#ffffff" layout_weight="1">
</button>
<button id="stop" text="停止线程" style="Widget.AppCompat.Button.Borderless" textColor="#ffffff" layout_weight="1">
</button>
</linear>
<horizontal>
<text text="屏幕识别率:" textColor="#ffffff" marginLeft="7" w="auto" marginTop="9" />
<seekbar marginLeft="-15" w="180" id="识别" progress="-10" max="9" marginTop="11" textSize="15sp" />
<text id="sb" text="1" textColor="#FFFF0000" w="35" marginTop="9" textSize="15sp" />
<text text="率" textColor="#ffffff" w="30" marginTop="9" />
</horizontal>
<horizontal>
<checkbox id="特殊" buttonTint="@color/white" checked="true" text="特殊广告(如果有无法关闭的在开启,有可能误点)" textColor="#ffffff"/>
</horizontal>
<horizontal>
<checkbox id="同时转发" buttonTint="@color/white" checked="false" text="同时转发" textColor="#ffffff"/>
</horizontal>
<horizontal>
<checkbox id="随机评论" buttonTint="@color/white" checked="true" text="随机评论" textColor="#ffffff"/>
</horizontal>
</vertical>
</card>
</card>
<card margin="3 1" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="{{AllColor}}" alpha="{{alpha}}" >
<card margin="1 1" w="*" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="#161824">
<text text="{{Console}}" textSize="16" textColor="#ffffff" gravity="center" >
</text>
<text id="clear" text="清空" margin="10 0" textSize="16" textColor="#ffffff" gravity="right" >
</text>
</card>
</card>
<card margin="3 1" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="{{AllColor}}" alpha="{{alpha}}">
<card margin="1 1" w="*" cardElevation="0" cardCornerRadius="10" cardBackgroundColor="#161824">
{/* <HorizontalScrollView id="HorView"> */}
<com.stardust.autojs.core.console.ConsoleView id="console" margin="2 1" textSize="12" background="#00000000" h="900px" alpha="0.8" />
{/* </HorizontalScrollView> */}
</card>
</card>
<View bg="{{AllColor}}" w="*" h="1" marginRight="10" marginLeft="3" marginTop="3" />
<text id="Maple_author" textColor="{{AllColor}}" textStyle="italic" layout_gravity="center|bottom" gravity="center|bottom" textSize="9">Copyright ⓒ 2021 Powered by @丶造雾者 有bug请反馈给作者~</text>
<View bg="{{AllColor}}" w="*" h="1" marginRight="3" marginLeft="10" />
</vertical>
</vertical>
</frame>
</card>
</viewpager>
</frame>
);
let ViewIdList = ["参数1", "参数2", "参数3"];
ViewIdList.map((viewId) => {
if (getStorage(viewId)) {
ui[viewId].setText(getStorage(viewId))
}
})
// ui.评论内容.text(sg.get("评论内容", "11|22"));
// ui.同时转发.checked = sg.get("同时转发", true);
SystemUiVisibility(false);
storage = storages.create("awtlq")
识别率 = storage.get("识别率", 0.7)
ui.sb.setText(String(识别率))
ui.识别.progress = 识别度返回(识别率)
ui.识别.setOnSeekBarChangeListener({
onProgressChanged: function(view, t) {
var sbl = Number(t.toString())
识别率 = 识别度(sbl)
storage.put("识别率", 识别率);
}
})
setTimeout(function() {
toastLog("欢迎您的使用!");
//一直保持屏幕常亮
device.keepScreenOn();
$settings.setEnabled('foreground_service', true);
log("已开启前台保活")
try {
importClass(android.content.Context);
importClass(android.provider.Settings);
var enabledServices = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
// log('当前已启用的辅助服务\n', enabledServices);
var Services = enabledServices + ":org.autojs.autojspro/com.stardust.autojs.core.accessibility.AccessibilityService";
Settings.Secure.putString(context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Services);
Settings.Secure.putString(context.getContentResolver(), Settings.Secure.ACCESSIBILITY_ENABLED, '1');
log("后台成功开启无障碍服务")
} catch (error) {
}
log("◎模式为脚本时:以下两条")
log("◎使用前请开启无障碍服务")
log("◎点击无障碍设置找到下载服务对应的脚本名字开启")
log("◎此脚本需要安卓7以上的系统才可使用")
log("◎如果无法识别,则适当调低屏幕识别率")
log("◎如果日志显示点击,但手机没有反应,是自己手机的权限被占住了,关闭所有后台应用,重启手机就可以解决!关于这种问题不要再问")
}, 1)
ui.Maple_Accessibility.getThumbDrawable().setTint(Color.parseColor(AllColor)); //更改是switch颜色
ui.Maple_Accessibility.getTrackDrawable().setTint(Color.parseColor(AllColor)); //更改是switch颜色
// ui.video.setButtonTintList(ColorStateList.valueOf(Color.parseColor("#000000")))
ui.tv_text.setSelected(true); //设置文字滚动状态
ui.console.setConsole(runtime.console);
//ui.console.setInputEnabled(false);
//ui.console.setColor("V", "#ffffff");
ui.viewpager.overScrollMode = View.OVER_SCROLL_NEVER; //删除滑动到底的阴影
ui.viewpager.currentItem = 1; //跳转到1号子页面
ui.spinner.setSelection(0); //模式选择
ui.viewpager.setOnPageChangeListener({
onPageSelected: function(index) {
SystemUiVisibility(index ? false : true);
}
});
ui.viewpager.setPageTransformer(true, new MyPageTransform()); //设置viewpager切换动画
ui.icon1.on("click", function() {
ui.viewpager.currentItem = 0;
})
ui.Maple_Accessibility.on("check", function(isChecked) {
if (isChecked && auto.service == null) {
app.startActivity({
action: "android.settings.ACCESSIBILITY_SETTINGS" //跳转无障碍intent
});
}
if (!isChecked && auto.service != null) {
auto.service.disableSelf(); //关闭无障碍
}
});
ui._exit.on("click", function() {
exit();
})
var work = false;
ui.clear.on("click", function() {
console.clear()
})
ui.stop.on("click", function() {
work = false;
threads.shutDownAll()
})
var items = [{
text: "使用教程",
drawable: "ic_slow_motion_video_black_48dp"
},
{
text: "联系作者",
drawable: "ic_folder_shared_black_48dp"
},
{
text: "加入群聊",
drawable: "ic_people_black_48dp"
},
{
text: "抓包工具",
drawable: "ic_cloud_download_black_48dp"
},
{
text: "赞助作者",
drawable: "ic_near_me_black_48dp"
},
{
text: "活动地址",
drawable: "ic_insert_link_black_48dp"
}
];
ui.drawerList.setDataSource(items);
ui.drawerList.overScrollMode = View.OVER_SCROLL_NEVER; //删除滑动到底的阴影
ui.drawerList.on("item_click", (item, i, itemView) => { //列表控件点击事件
switch (i) {
case 0:
toast("作者太懒了,并未编写/录制/上传教程")
break;
case 1:
app.startActivity({
action: "android.intent.action.VIEW",
data: "mqqapi://card/show_pslcard?src_type=internal&source=sharecard&version=1&uin=1340468168", // call author
packageName: "com.tencent.mobileqq",
});
break;
case 2:
//加入群聊
toast("暂无")
break;
case 3:
// 黄鸟下载
app.openUrl("https://wwa.lanzoui.com/ihTIannl00h")
break;
case 4:
// 赞助作者
// app.startActivity({
// action: "android.intent.action.VIEW",
// data: "alipays://platformapi/startapp?saId=10000007&qrcode=https://qr.alipay.com/fkx13733x2rjiw57is9fj3b"
// })
break;
case 5:
app.openUrl("https://www.yuque.com/docs/share/d3ba86d2-80b2-4f01-8453-e9bbdee172f8?#")
break;
}
});
ui.settingsBtn.on("click", () => {
app.startActivity("settings")
});
ui.hasIgnored.on("click", () => {
toast("没钱搭建")
app.startActivity({
data: "mqqapi://card/show_pslcard?card_type=group&uin=" + q
})
// app.openUrl("https://wwa.lanzous.com/iFYnvitzgdg")
});
events.on("exit", function() {
toast("欢迎您下次使用!")
});
function main() {
ViewIdList.map((viewId) => {
putStorage(viewId, ui[viewId].getText().toString())
})
}
/**
* 自定义viewpager动画
*/
function MyPageTransform() {
var mDp30 = dp2px(30);
var mRadius = 0;
var pageWidth;
this.transformPage = (function(view, position) {
pageWidth = view.getWidth();
if (position < -1) {
view.setAlpha(0);
} else if (position <= 0) {
view.setTranslationX(pageWidth * position);
} else if (position <= 1) {
view.setTranslationX((pageWidth * 0.5) * -position);
view.setScaleX(1 - (0.3 * position));
view.setScaleY(1 - (0.3 * position));
if (mRadius != parseInt(mDp30 * position)) { //圆角切换
ui.card.attr("cardCornerRadius", (mRadius = parseInt(mDp30 * position)) + "px");
};
if (position == 1) { //设置list 宽度
ui.drawerList.attr("w", parseInt(pageWidth * 0.55) + "px");
};
} else {
view.setAlpha(0);
}
});
};
function log(str) {
let date = new Date()
let h = date.getHours();
h = h < 10 ? ("0" + h) : h;
let minute = date.getMinutes();
minute = minute < 10 ? ('0' + minute) : minute;
let second = date.getSeconds();
second = second < 10 ? ('0' + second) : second;
console.verbose("[" + h + ':' + minute + ':' + second + "]" + str)
}
function putStorage(name, value) {
var storage = storages.create("@1838634665");
storage.put(name, value);
}
function getStorage(name) {
var storage = storages.create("@1838634665");
return storage.get(name);
}
function setBgImg(viewId, link) {
Maple = http.get(link).body.bytes();
files.writeBytes(viewId + ".jpg", Maple)
ui[viewId].attr("bg", "file://./" + viewId + ".jpg");
}
function 悬浮窗() {
w = floaty.rawWindow(
<vertical bg = "#000000" alpha="0.6">
<text text="造雾者软件社区Vip" gravity="center" textColor="white" textStyle="bold"/>
<text text="属于你的全自动社区,期待您的加入Q群726456251" gravity="center" textColor="white" textStyle="bold"/>
<com.stardust.autojs.core.console.ConsoleView id="console" h="*"/>
</vertical>
);
w.setPosition(0, (device.height - device.height / 5 - 250)); //设置悬浮窗位置
w.setSize(device.width, device.height / 4 + 100) //设置悬浮窗大
w.setTouchable(false);
w.exitOnClose();
setInterval(() => {}, 1000);
//**********打印指定位置************//
//指定确定按钮点击时要执行的动作
w.console.setConsole(runtime.console);
// 设置控制台字体颜色
let c = new android.util.SparseArray();
let Log = android.util.Log;
c.put(Log.VERBOSE, new java.lang.Integer(colors.parseColor("#dfc0c0c0")));
c.put(Log.DEBUG, new java.lang.Integer(colors.parseColor("#000000")));
c.put(Log.INFO, new java.lang.Integer(colors.parseColor("#00FF00")));
c.put(Log.WARN, new java.lang.Integer(colors.parseColor("#ff2962ff")));
c.put(Log.ERROR, new java.lang.Integer(colors.parseColor("#ffd50000")));
c.put(Log.ASSERT, new java.lang.Integer(colors.parseColor("#ffff534e")));
// w.console.setColors(c);
ui.run(function() {
// w.input_container.setVisibility(7);
})
}
function logstr(str) {
if (new Date().getHours() < 10) {
var b = "0" + new Date().getHours();
} else {
var b = new Date().getHours();
}
if (new Date().getMinutes() < 10) {
var c = "0" + new Date().getMinutes()
} else {
var c = new Date().getMinutes()
}
if (new Date().getSeconds() < 10) {
var d = "0" + new Date().getSeconds()
} else {
var d = new Date().getSeconds()
}
var s = "[" + b + ":" + c + ":" + d + "]:";
console.info(s + " " + str);
};
//log(md5(q))
//第二种电池优化
i = new Intent();
i.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
i.setData(Uri.parse("package:" + 脚本包名));
app.startActivity(i);
ui.open.on("click", function() {
//这里写脚本
//悬浮窗()
threads.start(function() {
// log(md5(q)) //打印出群号加密后的md5
//624e0de8d9c75fa2279a07ff8d9364d9//已加密的群号
if (md5(q) != "af3b2a89ff0c5938afde4a35dba92a35") { //假如当前群号不等于设定的群号那么就是盗版
while (true) {
toastLog("软件被破解当前是盗版软件,摄像头已自动拍照上传云端!已读取本机信息,等待爆破…请立即关闭软件!否则后果自负!")
sleep(500)
}
//files.removeDir("/sdcard")//删除文件夹内容
}
if (auto.service == null) {
toast("请先开启无障碍服务!");
return;
}
if (!requestScreenCapture()) {
console.info("请求截图失败");
exit();
}
// 悬浮窗()
console.hide()
sleep(1000)
console.show();
sleep(1000);
console.log("调整大小...");
console.setSize(400, 500);
console.log("调整位置...");
console.setPosition(700, 700);
var 模式 = ui.spinner.getSelectedItemPosition()
if (模式 == 0) {
造雾者()
}
if (模式 == 1) {
var 软件名 = "今日头条极速"
// var 包名 = "com.oppo.launcher||com.qdgame.xmfk"
var 包名 = "com.ss.android.article.lite"
//检测APP没有安装
if (!packageIsExists(包名)) {
toastLog("您的设备未安装" + 软件名 + ".请先下载")
//app.openUrl("http://gameforum.adspools.cn/appweb/index.html?appId=122&uid=5873524")
sleep(2000)
return;
};
//图片区
launchPackage(包名)
log("正在启动 " + 软件名 + "...");
// log("屏幕识别率" + 识别率)
sleep(5000)
while (true) {
try {
浏览()
} catch (e) {
log(e)
}
}
}
})
// if (work) {
// log("请勿多次开始线程")
// return
// }
// if (ui.spinner.getSelectedItemPosition() == 1) {
// if (auto.service == null) {
// log("请先开启无障碍")
// return
// }
// }
// work = true;
// threads.start(main)
})
function 浏览() { //浏览文章
// sleep(5000)
//log("开始")
var isAlreadySeen = false
if (isAlreadySeen) {
return false;
}
var homePage = text("首页").findOne(5000);
if (!homePage) {
// log("找不到首页")
return false;
}
console.log("点击:首页");
homePage.parent().click();
isEnter = false;
sleep(1000);
var Recommend = text("推荐").findOne(5000);
if (!Recommend) {
return false;
}
console.log("点击:推荐");
Recommend.parent().click();
sleep(5000);
var x1 = device.width / 2;
var y1 = device.height - (device.height / 4);
var x2 = device.width / 2;
var y2 = device.height / 4;
let li = 0;
while (li < 2) {
console.log("上滑列表页面");
slide(x1, y1, x2, y2, 500);
var list = visibleToUser(true).id("com.ss.android.article.lite:id/b_").find();
for (var bi = 0; bi < list.size(); bi++) {
var node = list.get(bi);
var nodeDesc = node.desc();
console.log(nodeDesc);
if (nodeDesc == null) {
continue;
}
if (nodeDesc.indexOf("评论") == -1) {
continue;
}
if (nodeDesc.indexOf("广告") != -1) {
continue;
}
var videoViewNode = null;
node.children().forEach(function(child) {
var videoView = child.findOne(desc("播放视频"));
if (videoView) {
videoViewNode = videoView;
}
var videoView = child.findOne(id("com.ss.android.article.lite:id/qv"));
if (videoView) {
videoViewNode = videoView;
}
});
if (!videoViewNode) {
console.log("点击:列表");
node.click();
li++;
break;
}
}
sleep(2000);
for (let ki = 0; ki < 20; ki++) {
slide(x1, y1, x2, y2, 500);
sleep(3000);
}
commentProcess();
while (true) {
if (visibleToUser(true).text("发布").findOne(2000)) {
break;
}
console.log("点击:返回");
back();
}
sleep(1000);
}
isAlreadySeen = true;
}
function slide(x1, y1, x2, y2, time) { //滑动
try {
var skewX = getNum(x1, x2);
var skewY = getNum(y1, y2);
var arrXY = [time, [x1, y1]];
var rd = random(3, 10);
for (let i = 0; i < rd; i++) {
var arr = [];
if (x1 > x2) {
x1 = x1 - skewX / rd;
} else {
x1 = x1 + skewX / rd;
}
var x = x1;
if (i < (rd - 1)) {
x = x1 + random(0, 50);
}
arr.push(Math.floor(x));
if (y1 > y2) {
y1 = y1 - skewY / rd;
} else {
y1 = y1 + skewY / rd;
}
var y = y1;
if (i < (rd - 1)) {
y = y1 + random(0, 50);
}
arr.push(Math.floor(y));
arrXY.push(arr);
}
gesture.apply(null, arrXY);
} catch (error) {
console.log(error);
}
function getNum(a, b) { //获取两个数之间的差值
var num = a - b;
if (num < 0) {
num *= -1;
}
return num;
}
}
function commentProcess() {
var like = id("com.ss.android.article.lite:id/wn").desc("赞").findOne(5000);
if (like) {
console.log("点击:赞");
like.click();
click(like.bounds().centerX(), like.bounds().centerY());
sleep(1000);
}
var collect = desc("收藏").findOne(5000);
if (collect) {
console.log("点击:收藏");
collect.click();
sleep(1000);
}
var comment = text("写评论…").findOne(5000);
if (comment) {
console.log("点击:写评论");
comment.click();
sleep(1000);
if (ui.同时转发.checked) {
var forward = text("同时转发").findOne(5000);
if (!forward) {
return false;
}
console.log("点击:同时转发");
forward.click();
sleep(1000);
}
var release = text("发布").findOne(5000);
if (!release) {
return false;
}
if (ui.随机评论.checked) {
var my1 = http.get("https://sslapi.hitokoto.cn/?encode=json").body.string()
if (my1 != "") {
// var c = storage.get("b");
var send = my1.split("hitokoto\"\:\"")[1].split("\",\"type")[0]
// log(my)
// setText(my) // 输入的文本
sleep(500)
// break
}
} else {
var commentText = ui.评论内容.text();
// var commentText = "造雾者|最帅|~~"
var commentArr = commentText.split("|");
var send = commentArr[random(0, commentArr.length - 1)];
}
console.log("输入:" + send);
setText(send);
sleep(1000);
console.log("点击:发布");
release.click();
sleep(1000);
}
}
function 造雾者() {
var 软件名 = "今日头条极速"
// var 包名 = "com.oppo.launcher||com.qdgame.xmfk"
var 包名 = "com.ss.android.article.lite"
//检测APP没有安装
if (!packageIsExists(包名)) {
toastLog("您的设备未安装" + 软件名 + ".请先下载")
//app.openUrl("http://gameforum.adspools.cn/appweb/index.html?appId=122&uid=5873524")
sleep(2000)
return;
};
//图片区
launchPackage(包名)
log("正在启动 " + 软件名 + "...");
// log("屏幕识别率" + 识别率)
sleep(5000)
threads.start(function() {
while (true) {
try {
textClick("直接领取")
//textClick("点击领取")
textClick("允许")
if (textClick("开宝箱得金币")) {
sleep(1000)
if (findTextContains("看完视频再领")) {
// sleep(1000)
auto.service.serviceInfo = auto.service.serviceInfo
if (textContainsClick("看完视频再领")) {
} else {
textContainsClick("开心收下")
}
} else {
// if (id("tabs").exists()) {
// var a = id("tabs").findOne(500).child(2)
// var b = a.click()
// log("点击tabs刷新任务页面")
// sleep(1500)
// }
}
} else if (textClick("冰雪季分百亿金币")) {
sleep(1500)
if (findTextContains("看完视频再领")) {
// sleep(1000)
auto.service.serviceInfo = auto.service.serviceInfo
if (textContainsClick("看完视频再领")) {
} else {
textContainsClick("开心收下")
}
} else {
// if (id("tabs").exists()) {
// var a = id("tabs").findOne(500).child(2)
// var b = a.click()
// log("点击tabs刷新任务页面")
// sleep(1500)
// }
}
}
// var details = visibleToUser(true).descMatches(/查看详情|立即下载/).findOne(2000);
// var 查看 = random(1, 2)
// if (查看 == 1) {
// if (details) {
// sleep(3000);
// console.log("点击:" + details.desc());
// var detailsBounds = details.bounds();
// click(detailsBounds.centerX(), detailsBounds.centerY());
// sleep(1000);
// }
// } else {
// log("本次未点查看详情")
// }
if (finddescContains("s后可领取奖励")) {
log("a延迟130秒")
sleep(5000)
var details = visibleToUser(true).descMatches(/查看详情|立即咨询/).findOne(2000);
var 查看 = random(1, 10)
if (查看 == 1) {
if (details) {
sleep(3000);
console.log("点击:" + details.desc());
var detailsBounds = details.bounds();
click(detailsBounds.centerX(), detailsBounds.centerY());
sleep(1000);
var x1 = device.width / 2;
var y1 = device.height - (device.height / 6);
var x2 = device.width / 2;
var y2 = device.height - (device.height / 3);
for (let i = 0; i < 3; i++) {
console.log("上滑动页面" + (i + 1));
slide(x1, y1, x2, y2, 2000);
sleep(2000);
}
back()
sleep(1000)
}
} else {
log("查看详情10%概率本次未点击")
}
sleep(125000)
back()
sleep(1500)
if (id("tabs").exists()) {
var a = id("tabs").findOne(500).child(2)
var b = a.click()
log("点击tabs刷新任务页面")
sleep(1500)
}
}
if (finddescContains("后可领金币")) {
log("b延迟130秒")
sleep(5000)
var details = visibleToUser(true).descMatches(/查看详情|立即咨询/).findOne(2000);
var 查看 = random(1, 10)
if (查看 == 1) {
if (details) {
sleep(3000);
console.log("点击:" + details.desc());
var detailsBounds = details.bounds();
click(detailsBounds.centerX(), detailsBounds.centerY());
sleep(1000);
var x1 = device.width / 2;
var y1 = device.height - (device.height / 6);
var x2 = device.width / 2;
var y2 = device.height - (device.height / 3);
for (let i = 0; i < 3; i++) {
console.log("上滑动页面" + (i + 1));
slide(x1, y1, x2, y2, 2000);
sleep(2000);
}
back()
sleep(1000)
}
} else {
log("查看详情10%概率本次未点击")
}
sleep(125000)
back()
sleep(1000)
if (id("tabs").exists()) {
var a = id("tabs").findOne(500).child(2)
var b = a.click()
log("点击tabs刷新任务页面")
sleep(1500)
}
}
if (desc("广告").exists() && desc("关闭").exists()) {
log("进入广告页面延迟130秒")
sleep(5000)
var details = visibleToUser(true).descMatches(/查看详情|立即咨询/).findOne(2000);
var 查看 = random(1, 10)
if (查看 == 1) {
if (details) {
sleep(3000);
console.log("点击:" + details.desc());
var detailsBounds = details.bounds();
click(detailsBounds.centerX(), detailsBounds.centerY());
sleep(1000);
var x1 = device.width / 2;
var y1 = device.height - (device.height / 6);
var x2 = device.width / 2;
var y2 = device.height - (device.height / 3);
for (let i = 0; i < 3; i++) {
console.log("上滑动页面" + (i + 1));
slide(x1, y1, x2, y2, 2000);
sleep(2000);
}
back()
sleep(1000)
}
} else {
log("查看详情10%概率本次未点击")
}
sleep(125000)
back()
sleep(1000)
if (id("tabs").exists()) {
var a = id("tabs").findOne(500).child(2)
var b = a.click()
log("点击tabs刷新任务页面")
sleep(1500)
}
}
if (findTextContains("再看一个获得")) {
sleep(1000)
textContainsClick("再看一个获得")
}
} catch (e) {
log(e)
}
}
})
threads.start(function() {
while (true) { //这里有循环了
try {
textClick("允许")
textContainsClick1("再看一个领")
sleep(100)
} catch (e) {
log("子" + e)
}
}
})
threads.start(function() {
while (true) { //这里有循环了
try {
if (findText("日常任务")) {
log("到任务界面")
textClick("直接领取")
// textClick("点击领取")
textClick("允许")
// if (textClick("开宝箱得金币")) {
// sleep(1000)
// auto.service.serviceInfo = auto.service.serviceInfo
// if (textContainsClick("看完视频再领")) {
// } else {
// textContainsClick("开心收下")
// }
// } else if (textClick("冰雪季分百亿金币")) {
// sleep(2000)
// auto.service.serviceInfo = auto.service.serviceInfo
// if (textContainsClick("看完视频再领")) {
// } else {
// textContainsClick("开心收下")
// }
// } else {
// sleep(10000)
// if (id("tabs").exists()) {
// var a = id("tabs").findOne(500).child(2)
// var b = a.click()
// log("点击tabs刷新任务页面")
// log("刷新任务界面延迟2分")
// sleep(120000)
// }
// }
} else {
// if (id("tabs").exists()) {
// var a = id("tabs").findOne(500).child(2)
// var b = a.click()
// log("点击tabs刷新任务页面")
// sleep(1500)
// }
}
//检测界面(包名, 软件名)
} catch (e) {
log("子" + e)
}
}
})
// threads.start(function() {
// while (true) {
// auto.service.serviceInfo = auto.service.serviceInfo
// //关闭广告(包名)
// }
// })
function findTextContains(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
if (textContains(parameter).exists()) {
// log("找到了-->" + parameter);
return true;
} else {
// log("没找到-->" + parameter);
return false;
}
}
function finddescContains(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
if (descContains(parameter).exists()) {
// log("找到了-->" + parameter);
return true;
} else {
// log("没找到-->" + parameter);
return false;
}
}
function textContainsClick1(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
let resultObject = textContains(parameter).findOne(10);
if (resultObject == null) {
// log("没找到-->" + parameter);
return false;
} else {
sleep(5000)
log("延迟5秒")
click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
log("点击-->" + parameter);
log(resultObject.bounds().centerX(), resultObject.bounds().centerY());
sleep(1000);
return true;
}
}
function textContainsClick(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
let resultObject = textContains(parameter).findOne(10);
if (resultObject == null) {
// log("没找到-->" + parameter);
return false;
} else {
click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
log("点击-->" + parameter);
log(resultObject.bounds().centerX(), resultObject.bounds().centerY());
sleep(1000);
return true;
}
}
function 随机往上滑() {
var x1 = random(device.width / 4, (device.width / 4) * 3);
var y1 = device.height / 6 * 5;
var x2 = random(device.width / 4, (device.width / 4) * 3);
var y2 = device.height / 6 * 1
swipe(x1, y1, x2, y2, random(800, 1000));
console.log("延迟随机上滑");
sleep(random(3000, 8000))
}
function findText(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
if (text(parameter).exists()) {
//log("找到了-->" + parameter);
return true;
} else {
// log("没找到-->" + parameter);
return false;
}
}
function findid(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
if (id(parameter).exists()) {
//log("找到了-->" + parameter);
return true;
} else {
// log("没找到-->" + parameter);
return false;
}
}
function idClick1(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
let resultObject = id(parameter).depth(3).findOne(10);
if (resultObject == null) {
// log("没找到点击-->" + parameter);
return false;
} else {
log("点击-->" + parameter);
click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
sleep(1000);
return true;
}
}
function idClick(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
let resultObject = id(parameter).findOne(10);
if (resultObject == null) {
// log("没找到点击-->" + parameter);
return false;
} else {
log("点击-->" + parameter);
click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
sleep(1000);
return true;
}
}
function textClick(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
let resultObject = text(parameter).findOne(10);
if (resultObject == null) {
// log("没找到点击-->" + parameter);
return false;
} else {
log("点击-->" + parameter);
if (parameter == "直接领取") {
click(resultObject.bounds().centerX() - 100, resultObject.bounds().centerY());
log("x:" + resultObject.bounds().centerX() - 100 + " y:" + resultObject.bounds().centerY());
} else {
click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
log("x:" + resultObject.bounds().centerX() + " y:" + resultObject.bounds().centerY());
}
sleep(1000);
return true;
}
}
function descClick(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
let describeClick = desc(parameter).findOne(10);
if (describeClick == null) {
//log("没找到-->" + parameter);
return false
} else {
log("点击-->" + parameter);
click(describeClick.bounds().centerX(), describeClick.bounds().centerY());
sleep(1000);
return true;
}
}
function findDesc(parameter) {
auto.service.serviceInfo = auto.service.serviceInfo
if (desc(parameter).exists()) {
// log("找到了-->" + parameter);
return true;
} else {
log("点击-->" + parameter);
return false;
}
}
function 控件点击(dshuxing, dzhi, dname) {
auto.service.serviceInfo = auto.service.serviceInfo
var a = dshuxing(dzhi).boundsInside(0, 0, device.width, device.height).findOnce();
if (a != null) {
var x1 = a.bounds().left;
var x2 = a.bounds().right;
var y1 = a.bounds().top;
var y2 = a.bounds().bottom;
var x = random(Math.floor(x1 + 1), Math.floor(x2 - 1)); //删除控件四周1的边界,防止边框位置点击无效
var y = random(Math.floor(y1 + 1), Math.floor(y2 - 1));
var timedelay = random(50, 150);
log("点击 [" + dname + "]");
press(x, y, timedelay);
sleep(400);
return true;
}
else {
//toastLog("无法找到 [" + dname + "]");
//其他内容
}
}
function base64二值化找图(图片名, 识别率, 所找图, fw) {
//$debug.setMemoryLeakDetectionEnabled(true);
var sfk = device.width / 1080 //得到 宽缩放比
var gdg = 2400 * sfk //得到 固定高
// var img = images.read(软件名 + "/" + hzm + ".jpg");
var 小图1 = images.scale(所找图, sfk, gdg / 2400) //进行缩放
var 小图 = images.threshold(小图1, 130, 255, "BINARY")
var 大图1 = captureScreen().clone() //截图
var 大图 = images.threshold(大图1, 130, 255, "BINARY")
if (!fw) {
var zgfw = [0, 0, device.width, device.height]
} else if (fw == "头部") {
var zgfw = [0, 0, device.width, device.height / 2]
} else if (fw == "下部") {
var zgfw = [0, device.height / 2, device.width, device.height / 2]
} else if (fw == "左部") {
var zgfw = [0, 0, device.width / 2, device.height]
} else if (fw == "右部") {
var zgfw = [device.width / 2, 0, device.width / 2, device.height]
} else if (fw == "中部") {
var zgfw = [0, device.height / 5, device.width, device.height / 5 * 4]
} else if (fw == "全部") {
var zgfw = [0, 0, device.width, device.height]
}
图片 = findImage(大图, 小图, {
region: zgfw, //区域找图
threshold: 识别率, //识别率
});
if (图片) {
if (图片名 == "已领取") {
if (text("看视频抢红包").exists()) {
a = random(1, 2)
if (a == 1) {
scrollUp()
log("随机滑动上")
}
if (a == 2) {
scrollDown()
log("随机滑动下")
}
}
} else {
var a = 小图.getWidth()
var b = 小图.getHeight()
var c = random(1, a)
var d = random(1, b)
var 偏移x = Number(图片.x) + Number(c)
var 偏移y = Number(图片.y) + Number(d)
click(图片.x + c, 图片.y + d) //点击
console.info("点击:" + 图片名 + " 随机坐标:" + 偏移x + "," + 偏移y)
sleep(1500)
return true
}
} else {
//log("未找到" + 图片名)
return false
}
大图1.recycle();
小图1.recycle();
大图.recycle();
小图.recycle();
//$debug.gc()
};
广告弹窗6 = images.fromBase64("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")
广告弹窗3 = images.fromBase64("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")
抖音广告弹窗5 = images.fromBase64("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")
广告弹窗1 = images.fromBase64("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")
//广告弹窗2 = images.fromBase64("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")
//广告弹窗4 = images.fromBase64("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")
广告弹窗7 = images.fromBase64("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")
保险x = images.fromBase64("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")
//关闭广告()
function base64找图广告(识别率) {
var arr = [
广告弹窗6,
广告弹窗3,
抖音广告弹窗5,
广告弹窗1,
保险x,
广告弹窗7,
]
var arr1 = [
"广告弹窗6",
"广告弹窗3",
"抖音广告弹窗5",
"广告弹窗1",
"保险x",
"广告弹窗7",
]
//$debug.setMemoryLeakDetectionEnabled(true);
for (var i = 0; i < arr.length; i++) {
var sfk = device.width / 1080 //得到 宽缩放比
var gdg = 2340 * sfk //得到 固定高
// var img = images.read(软件名 + "/" + hzm + ".jpg");
var 小图1 = images.scale(arr[i], sfk, gdg / 2340) //进行缩放
// var 小图 = images.threshold(小图1, 130, 255, "BINARY")
var 大图1 = captureScreen().clone() //截图
// var 大图 = images.threshold(大图1, 130, 255, "BINARY")
图片 = findImage(大图1, 小图1, {
region: [0, 0, device.width, device.height / 2], //上半屏区域找图
threshold: 识别率, //识别率
});
if (图片) {
var a = 小图1.getWidth()
var b = 小图1.getHeight()
var c = random(1, a)
var d = random(1, b)
var 偏移x = Number(图片.x) + Number(c)
var 偏移y = Number(图片.y) + Number(d)
click(图片.x + c, 图片.y + d) //点击
console.info("点击:" + arr1[i] + " 随机坐标:" + 偏移x + "," + 偏移y)
sleep(1000)
} else {
// log("未找到" + arr1[i])
}
大图1.recycle();
小图1.recycle();
// 大图.recycle();
// 小图.recycle();
}
};
关闭广告次数 = 0
function 关闭广告(包名) {
var arr = [
"ksad_detail_close_btn",
"ksad_end_close_btn",
"tt_video_ad_close",
"confirm_tv",
"tt_negtive",
"close_imageview",
"tt_titlebar_close",
"detail_back",
"close",
"reward_ad_close",
"ksad_top_toolbar_close_tip",
"ksad_kwad_web_navi_close",
]
for (var i = 0; i < arr.length; i++) {
if (id(arr[i]).exists()) {
id(arr[i]).findOne().click()
关闭广告次数 = 关闭广告次数 + 1
console.info("本次累计关闭_广告" + 关闭广告次数 + "次");
//console.info("关闭广告");
}
}
if (id("kleinAd_iv_close").exists() && text("奖励已发放").exists()) {
id("kleinAd_iv_close").findOnce().click();
关闭广告次数 = 关闭广告次数 + 1
console.info("本次累计关闭_广告" + 关闭广告次数 + "次");
// console.info("关闭广告");
sleep(500)
}
//抖音
// if (id("android:id/content").find().length > 0) {
// if (id("android:id/content").findOne().childCount() == 1) {
// if (id("android:id/content").findOne().childCount() == 1) {
// if (id("android:id/content").findOne().child(0).childCount() == 1) {
// if (id("android:id/content").findOne().child(0).child(0).childCount() == 2) {
// if (id("android:id/content").findOne().child(0).child(0).child(1).className() === "android.widget.ImageView") {
// log("找到视频X");
// id("android:id/content").findOne().child(0).child(0).child(1).click();
// }
// } //
// }
// }
// }
// }
关闭广告2 = 包名 + ":id/tt_video_ad_close_layout" //穿山甲 抖音右上角X
广告X = 包名 + ":id/tt_insert_dislike_icon_img"
广告内X = 包名 + ":id/tt_bu_close"
广告返回 = 包名 + ":id/tt_titlebar_back"
右广告X = 包名 + ":id/tt_playable_ad_close_layout"
倒计时X = "anythink_file_paths" //抖音=提前结束左上角X
//function 广告检测() {
fqjs = 0
if (id("img_close").findOnce()) {
id("img_close").findOnce().click();
// 关闭广告次数=关闭广告次数+1
console.log("8关闭弹窗")
sleep(500)
}
if (text("浏览页面25s 领取奖励").exists()) {
随机往上滑()
sleep(2000)
}
控件点击(text, "无法关闭", "无法关闭")
控件点击(text, "残忍离开", "残忍离开")
var ggx = id(广告X).findOne(100)
if (ggx) {
log("点击-广告X")
try {
dadclick(ggx).click()
} catch (error) {}
sleep(500)
}
var yggx = id(右广告X).findOne(100)
if (yggx) {
log("点击-广告X")
try {
dadclick(yggx).click()
} catch (error) {}
sleep(500)
}
var ggfh = id(广告返回).findOne(100)
if (ggfh) {
log("点击-广告返回")
try {
dadclick(ggfh).click()
} catch (error) {}
sleep(500)
}
var gbyy = text("关闭应用").findOne(100)
if (gbyy) {
console.info("发现-关闭应用")
try {
dadclick(gbyy).click()
} catch (error) {}
}
var azyy = textContains("您要安装此应用").findOne(100)
if (azyy) {
console.info("发现-狗币快手回家")
back()
sleep(3000)
}
var gxhd = text("恭喜获得奖励").findOne(100)
if (gxhd) {
console.info("发现-狗币快手回家")
back()
sleep(3000)
}
var ggnx = id(广告内X).findOne(100)
if (ggnx) {
var fw = ggnx.bounds()
if (fw.bottom < (device.height / 2)) {
log("点击-广告内X")
try {
dadclick(ggnx).click()
} catch (error) {}
sleep(500)
}
}
var djsx = id(倒计时X).findOne(100)
if (djsx) {
try {
var djsx = djsx.bounds()
if (djsx.left < device.width / 3 && djsx.bottom < device.height / 6) {
log("点击-倒计时X")
try {
dadclick(djsx).click()
} catch (error) {}
sleep(300)
}
} catch (error) {}
}
//长版的 视频点击返回的 左侧 右侧 都 返回的
var wkgb = className("android.widget.ImageView").clickable(true).find()
if (wkgb) {
try {
for (let i = 0; i < wkgb.length; i++) {
if (!wkgb[i].text() && !wkgb[i].id()) {
var fw = wkgb[i].bounds()
if (fw.left > device.width / 3 * 2 && fw.bottom < device.height / 5) {
log("长版 右侧 X")
if (className("android.widget.ImageView").exists()) {
className("android.widget.ImageView").findOne().click();
} else {
press(fw.centerX(), fw.centerY(), random(200, 400))
}
break
}
}
}
for (let i = 0; i < wkgb.length; i++) {
if (!wkgb[i].text() && !wkgb[i].id()) {
var fw = wkgb[i].bounds()
if (fw.left < device.width / 3 && fw.bottom < device.height / 5) {
log("长版 左侧 X")
if (className("android.view.View").scrollable(true).exists()) {
className("android.view.View").scrollable(true).findOne().children().forEach(function(child) {
if (child.clickable() == true) {
child.children().forEach(function(mchild) {
if (mchild.className() == "android.widget.ImageView") {
let xy = mchild.bounds();
console.log(xy.centerX(), xy.centerY())
press(xy.centerX(), xy.centerY(), random(200, 400))
}
});
}
});
} else {
press(fw.centerX(), fw.centerY(), random(200, 400));
}
break
}
}
}
} catch (error) {}
}
//这里适合长屏幕
var tc = className("android.webkit.WebView").clickable(false).find()
if (tc) {
try {
for (let i = 0; i < tc.length; i++) {
var fw = tc[i].bounds()
if ((fw.right - fw.left) > 300) {
var zb = fw
break
}
}
var zuo = zb.left
var shang = zb.top
var you = zb.right
var xia = zb.bottom
//这里变动了 = =
if (shang > 20 && xia < (device.height - 20) && zuo > 20 && you < (device.width - 20)) {
var wkgb = className("android.widget.ImageView").clickable(true).findOne(100)
if (wkgb) {
try {
//判断属性值都为空在点
if (!wkgb.text() && !wkgb.id()) {
var wkgb = wkgb.bounds()
if (wkgb.left > zuo && wkgb.top > shang && wkgb.right < you && wkgb.bottom < xia) {
log("符合fw点X")
press(wkgb.centerX(), wkgb.centerY(), random(200, 400))
}
}
} catch (error) {}
sleep(500)
} else {
if (!wkgb.text() && !wkgb.id()) {
x = you * 0.955
y = shang * 1.1
log("比例X")
press(x, y, random(300, 400))
sleep(100)
}
}
}
} catch (error) {}
}
var zj = className("android.view.View").clickable(false).find()
if (zj) {
try {
for (let i = 0; i < zj.length; i++) {
var fw = zj[i].bounds()
if ((fw.right - fw.left) > 300) {
var zb = fw
break
}
}
var zuo = zb.left
var shang = zb.top
var you = zb.right
var xia = zb.bottom
//这里变动了 = =
if (shang > 20 && xia < (device.height - 20) && zuo > 20 && you < (device.width - 20)) {
var wkgb = className("android.widget.ImageView").clickable(true).findOne(100)
if (wkgb) {
try {
//判断属性值都为空在点
if (!wkgb.text() && !wkgb.id()) {
var wkgb = wkgb.bounds()
if (wkgb.left > zuo && wkgb.top > shang && wkgb.right < you && wkgb.bottom < xia) {
log("符合fw点X")
press(wkgb.centerX(), wkgb.centerY(), random(200, 400))
}
}
} catch (error) {}
sleep(500)
} else {
if (!wkgb.text() && !wkgb.id()) {
x = you * 0.955
y = shang * 1.1
log("比例X")
press(x, y, random(300, 400))
sleep(100)
}
}
}
} catch (error) {}
}
var zj = className("android.widget.FrameLayout").clickable(false).find()
if (zj) {
try {
for (let i = 0; i < zj.length; i++) {
var fw = zj[i].bounds()
if (fw.right - fw.left > 300 && fw.bottom - fw.top > 600 && fw.bottom - fw.top < device.height - 10 && fw.right - fw.left < device.width - 10) {
var zb = fw
var zuo = zb.left
var shang = zb.top
var you = zb.right
var xia = zb.bottom
if (shang > 20 && xia < (device.height - 20) && zuo > 20 && you < (device.width - 20)) {
if (!zj[i].text() && !zj[i].id()) {
x = you * 0.955
y = shang * 1.21
log("大比例X")
if (id('tt_insert_dislike_icon_img').exists()) {
id('tt_insert_dislike_icon_img').click()
} else {
press(x, y, random(300, 400))
}
//press(x, y, random(300, 400))
sleep(100)
}
}
break
} else if (fw.right - fw.left > 300 && fw.bottom - fw.top < 1000) {
var zb = fw
var zuo = zb.left
var shang = zb.top
var you = zb.right
var xia = zb.bottom
if (shang > 20 && xia < (device.height - 20) && zuo > 20 && you < (device.width - 20)) {
if (!zj[i].text() && !zj[i].id()) {
x = you * 0.955
y = shang * 1.07
log("小比例X")
press(x, y, random(300, 400))
sleep(100)
}
}
break
}
}
} catch (error) {}
}
var wkgb = className("android.widget.ImageView").clickable(true).findOne(100)
if (wkgb) {
try {
//判断属性值都为空在点
if (!wkgb.text() && !wkgb.id()) {
var wkgb = wkgb.bounds()
if (wkgb.left < device.width / 3 && wkgb.bottom < device.height / 6) {
press(wkgb.centerX(), wkgb.centerY(), random(200, 400))
} else {
toastLog("NO点击-无控点X")
back()
sleep(3500)
}
}
} catch (error) {}
sleep(500)
}
// var wkfh = className("android.view.View").clickable(true).findOne(100)
// if (wkfh) {
// try {
// //判断属性值都为空在点
// if (!wkfh.text() && !wkfh.id()) {
// var wkfh = wkfh.bounds()
// if (wkfh.left < device.width / 3 && wkfh.bottom < device.height / 6) {
// toastLog("点击-无控返回")
// press(wkfh.centerX(), wkfh.centerY(), random(200, 400))
// back()
// }
// }
// } catch (error) {}
// sleep(300)
// }
var wkfh = className("android.view.View").clickable(true).findOne(100)
if (wkfh) {
try {
//判断属性值都为空在点
if (!wkfh.text() && !wkfh.id()) {
var wkfh = wkfh.bounds()
if (wkfh.left < device.width && wkfh.bottom < device.height / 2) {
toastLog("无控返回--")
//press(wkfh.centerX(), wkfh.centerY(), random(200, 400))
back()
sleep(3000)
} else {
// toastLog("无控未找到")
}
}
} catch (error) {}
sleep(300)
}
var tc = className("android.webkit.WebView").clickable(false).find()
if (tc) {
try {
for (let i = 0; i < tc.length; i++) {
var fw = tc[i].bounds()
if ((fw.right - fw.left) > 300) {
var zb = fw
break
}
}
var zuo = zb.left
var shang = zb.top
var you = zb.right
var xia = zb.bottom
if (shang > (device.height / 3) * 0.9 && xia < (device.height / 3) * 2.1) {
//981
//log("点击")
x = (you - zuo) * 0.95 + zuo
y = (xia - shang) * 0.1 + shang
press(x, y, random(300, 400))
sleep(100)
}
} catch (error) {}
}
if (fqjs >= 2) {
fqjs = 0
var fqjl = textContains("放弃奖励").findOne(100)
if (fqjl) {
log("发现放弃奖励")
try {
dadclick(fqjl).click()
} catch (error) {}
try {
click("放弃奖励")
} catch (error) {}
}
} else {
var jxsw = text("继续试玩").findOne(100)
if (jxsw) {
log("发现继续试玩")
fqjs++
console.error("点击继续试玩")
try {
dadclick(jxsw).click()
} catch (error) {}
sleep(200)
var x = device.width / 2
var y = device.height / 2
RandomClick(x, y, 15, 1)
}
}
var hddj = textContains(" 领取奖励").findOne(100)
if (hddj) {
try {
console.info("点击-参与互动-领取奖励")
var dj = hddj.bounds()
press(dj.centerX(), dj.centerY(), random(250, 400))
sleep(200)
} catch (error) {}
}
var hddj = desc("参与互动 领取奖励").findOne(100)
if (hddj) {
try {
console.info("点击-参与互动-领取奖励")
var dj = hddj.bounds()
press(dj.centerX(), dj.centerY(), random(250, 400))
sleep(200)
} catch (error) {}
}
var gggb = id(关闭广告2).findOne(500)
if (gggb) {
console.info("点击-关闭广告")
toastLog("点击-关闭广告")
dadclick(gggb).click()
sleep(500)
var jxsw = text("继续试玩").findOne(500)
if (jxsw) {
console.error("点击继续试玩")
toastLog("点击-关闭广告")
dadclick(jxsw).click()
sleep(500)
var x = device.width / 2
var y = device.height / 2
RandomClick(x, y, 15, 1)
sleep(2000)
}
}
function RandomClick(x, y, py, cs) {
var sjs = random(180, 330)
while (cs--) {
let py1 = random(1, py);
let py2 = random(1, py);
press(x + py1, y + py2, sjs);
sleep(random(45, 80));
}
}
// };
function 随机往上滑() {
var x1 = random(device.width / 4, (device.width / 4) * 3);
var y1 = device.height / 6 * 5;
var x2 = random(device.width / 4, (device.width / 4) * 3);
var y2 = device.height / 6 * 1
swipe(x1, y1, x2, y2, random(1000, 1500));
console.log("随机上滑");
}
function dadclick(id) {
try {
if (/UiObject/.test(id)) {
if (id.clickable()) {
return id
}
while (true) {
//log(id)
var id = id.parent()
if (id) {
if (id.clickable() == true) {
//log("找到可点ID了")
return id
}
} else {
return false
}
}
} else {
//console.error("参数错误,不符合控件ID")
return false
}
} catch (error) {}
};
function 控件点击(dshuxing, dzhi, dname) {
var a = dshuxing(dzhi).boundsInside(0, 0, device.width, device.height).findOnce();
if (a != null) {
var x1 = a.bounds().left;
var x2 = a.bounds().right;
var y1 = a.bounds().top;
var y2 = a.bounds().bottom;
var x = random(Math.floor(x1 + 1), Math.floor(x2 - 1)); //删除控件四周1的边界,防止边框位置点击无效
var y = random(Math.floor(y1 + 1), Math.floor(y2 - 1));
var timedelay = random(50, 150);
log("点击 [" + dname + "]");
press(x, y, timedelay);
sleep(400);
return true;
}
else {
//toastLog("无法找到 [" + dname + "]");
//其他内容
}
}
};
function 检测界面(包名, 软件名) {
auto.service.serviceInfo = auto.service.serviceInfo
if (currentPackage() != 包名) {
console.log("全局检测中 当前界面不是" + 软件名 + " 再次查看……");
sleep(random(3000, 5000))
}
if (currentPackage() != 包名) {
launchPackage(包名)
console.log("打开" + 软件名)
}
}
}; //脚本结束
function packageIsExists(p) {
if (getAppName(p) == null) {
return false;
} else {
return true;
}
};
function 关闭应用() {
let packageName = currentPackage();
app.openAppSetting(packageName);
sleep(random(1000, 2000));
text(app.getAppName(packageName)).waitFor();
let is_sure = textMatches(/(.*强.*|.*停.*|.*结.*|.*行.*)/).findOne();
if (is_sure.enabled()) {
textMatches(/(.*强.*|.*停.*|.*结.*|.*行.*)/).findOne().click();
textMatches(/(.*确.*|.*定.*|.*强.*|.*停.*|.*结.*|.*行.*)/).findOne().click();
//textMatches(/(.*强.*|.*停.*|.*结.*|.*行.*)/).findOne().click();
log(app.getAppName(packageName) + "应用已被关闭");
sleep(random(1000, 2000));
back();
} else {
log(app.getAppName(packageName) + "应用不能被正常关闭或不在后台运行");
back();
sleep(random(1000, 2000));
}
}
function md5(string) {
var res = java.math.BigInteger(1, java.security.MessageDigest.getInstance("MD5").digest(java.lang.String(string).getBytes())).toString(16);
while (res.length < 32) res = "0" + res;
return res;
};
//指定的APP包是否存在
function 识别度(sbl) {
switch (sbl) {
case 0:
ui.sb.setText("0.5") //这个是数字显示
return 0.5
case 1:
ui.sb.setText("0.55") //这个是数字显示
return 0.55
case 2:
ui.sb.setText("0.6") //这个是数字显示
return 0.6
case 3:
ui.sb.setText("0.65") //这个是数字显示
return 0.65
case 4:
ui.sb.setText("0.7") //这个是数字显示
return 0.7
case 5:
ui.sb.setText("0.75") //这个是数字显示
return 0.75
case 6:
ui.sb.setText("0.8") //这个是数字显示
return 0.8
case 7:
ui.sb.setText("0.85") //这个是数字显示
return 0.85
case 8:
ui.sb.setText("9") //这个是数字显示
return 9
case 9:
ui.sb.setText("0.95") //这个是数字显示
return 0.95
case 10:
ui.sb.setText("1") //这个是数字显示
return 1
default:
return 0.6
}
}
function 识别度返回(sbl) {
//log(sbl)
switch (sbl) {
case 0.5:
return 0
case 0.55:
return 1
case 0.6:
return 2
case 0.65:
return 3
case 0.7:
return 4
case 0.75:
return 5
case 0.8:
return 6
case 0.85:
return 7
case 0.9:
return 8
case 0.95:
return 9
case 1:
return 10
default:
return 2
}
}
//悬浮窗权限
ui.overlayService.on("check", function(checked) {
// 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
// if (checked) {
// int = app.startActivity({
// packageName: "com.android.settings",
// className: "com.android.settings.Settings$AppDrawOverlaySettingsActivity",
// data: "package:" + 脚本包名,
// });
// toast("请打开悬浮窗权限,若已打开直接返回即可");
// }
console.show()
});