autojs自动化手机脚本实现淘宝芭芭农场签到领肥料-泓源视野

autojs自动化手机脚本实现淘宝芭芭农场签到领肥料

更新内容

@_@常回来看看,可能会有bug修复和添加新功能

  • v1.27 11.6更新:
    • 支付宝现在首页上方的窗口加载很慢,对应修改了支付宝活动入口的进入判断。
    • 如果领取模式为MODE=1(只领取支付宝),在领完支付宝之后会根据设置进行扁猫猫功能。
    • 现在默认领取模式为MODE=1(只领取支付宝),并且扁猫猫功能默认开启了。主要是考虑到使用脚本领取淘宝也挣不到几个喵币,如果仍然有需求,请自行修改代码第13行和23行。
    • 由于支付宝默认进去之后就打开任务界面,之前的脚本会漏掉领取钱袋子的操作,现在在每次支付宝领取结束后增加了领取钱袋子的操作。


 1.开宗明义

(小白请看第四部分内容)

  • 平台:Android
  • 功能:双十一自动刷淘宝和支付宝的喵币
  • 特色:
    • 支付宝的喵币刷完后自动刷淘宝的喵币
    • 增加了狂扁活动界面的猫,获得蚊子腿喵币的功能(默认开启,关闭方法为:把代码第13行的true改为false)
    • 增加了程序运行时按下[音量下键][长按悬浮窗内文字]退出的功能,提供给想要主动退出的情况(尤其是狂扁猫猫的阶段,默认持续20s)。(也可以在Auto.js中的管理栏目下找到正在运行的脚本)
    • 代码最开始提供了自定义的内容,可以根据自己的屏幕大小进行修改适配
  • 依赖:Auto.js
  • 注意:脚本开启前需要保证淘宝和支付宝未开启,或者处于淘宝和支付宝均处于首页,否则之后都会错误操作

脚本代码如下下载:https://wws.lanzous.com/i6opglvizaf 密码:添加微信公众号【泓源视野网络安全】发送【手机脚本】获得

下载后解压然后使用Auto.js的导入功能)

下载:https://wws.lanzous.com/id68hlviyrg  密码:e1o7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
/*---原载于https://www.byy3.com/960.html 仅供学习交流,下载后请于24小时内删除*/
/*--------版本v1.30根据个人情况修改以下内容----------*/
//长等待时间常量,用于应用启动、广告等较长时间等待,如果网络不好或手机卡请增加此数值,默认8秒
var LONG_TIME = 8000;
//短等待时间常量,用于例如返回等每步操作后的等待,如果手机卡请增加此数值
var SHORT_TIME = 3000;
//是否开启点(扁)猫猫获取蚊子腿喵币功能,默认开启。
//可选值:   true:开启;false:关闭
var TAP_FLAG = true;
//点击猫的间隔时间,默认是100毫秒
var TAP_INTERVAL = 100;
//点击猫的持续次数,默认是200次
var TAP_TIMES = 200;
//领取模式切换,默认为只领取支付宝。
//可选值:   0:支付宝淘宝均领取,1:只领取支付宝,2:只领取淘宝,其他:都不领取
var MODE = 1;
/*--------根据个人情况修改以上内容----------*/
auto.waitFor();
var height = device.height;
var width = device.width;
setScreenMetrics(width, height);
//停掉除了本脚本以外的正在运行的脚本
killOthersAlive();
//启用悬浮窗,用于提示,为没有音量下键的手机提供了关闭悬浮窗可以直接停止脚本的方式
var w = floaty.window(
    <frame gravity="left">
        <text id="text" textColor="black" bg='#ffffff'>★★★Tips:按下[音量-]键或者长按[悬浮窗内文字]可随时结束脚本</text>
    </frame>
);
//设置悬浮窗变量
floatW();
//启用按键监听,按下音量下键脚本结束
keyDetector();
//开始刷喵币
switch (MODE) {
    case 0:
        //保持屏幕常亮,最多三十分钟
        device.keepScreenDim(30 * 60 * 1000);
        lingQuZhifubao();
    case 1:
        //保持屏幕常亮,最多三十分钟
        device.keepScreenDim(30 * 60 * 1000);
        lingQuZhifubao();
    case 2:
        //保持屏幕常亮,最多三十分钟
        device.keepScreenDim(30 * 60 * 1000);
        lingQuTaobao();
    default:
        toast("脚本26行MODE非有效值,脚本结束^_^")
        sleep(SHORT_TIME);
        exit();
}
//启用按键监听,按下音量下键脚本结束
function keyDetector() {
    threads.start(function() { //在子进程中运行监听事件
        events.observeKey();
        events.on("key"function(code, event) {
            var keyCodeStr = event.keyCodeToString(code);
            console.log(code);
            console.log(keyCodeStr);
            if (keyCodeStr == "KEYCODE_VOLUME_DOWN") {
                toast("检测到音量下键,程序已结束。");
                //取消屏幕常亮
                device.cancelKeepingAwake();
                exit();
            }
        });
    });
}
function lingQuTaobao() {
    app.startActivity({
        packageName: "com.taobao.taobao",
        className: "com.taobao.tao.TBMainActivity"
    });
    ui.run(function() {
        w.text.setText("★★★Tips:若长时间无反应请手动打开淘宝首页");
    });
    text("今日爆款").waitFor();
    //text("天猫超市").waitFor();
    sleep(1000);
    ui.run(function() {
        w.text.setText("★★★Tips:按下[音量-]键或者长按[悬浮窗内文字]可随时结束脚本");
    });
    //点击“疯抢红包”进入活动页
    id("rv_main_container").findOne().child(4).child(0).child(0).click();
    //click(width / 2 + 200, TAOBAO_Y);
    toast("进入活动页");
    //sleep(LONG_TIME);
    className("android.widget.Button").text("我的猫,点击撸猫").findOne(LONG_TIME);
    //偶发的去农场领猫事件
    if (text("亲爱的主人我去芭芭农场玩耍了快来找我回家吧~").exists()) {
        ui.run(function() {
            w.text.setText("★★★猫跑去芭芭农场了,请手动完成任务后返回活动主页");
        });
        className("android.widget.Button").text("我的猫,点击撸猫").waitFor();
        ui.run(function() {
            w.text.setText("★★★Tips:按下[音量-]键或者长按[悬浮窗内文字]可随时结束脚本");
        });
    }
    //检测彩蛋
    if (text("获得一个待开奖的彩蛋").exists()) {
        text("好的,11月11日见").findOne().click();
        toast("领取彩蛋成功");
        sleep(SHORT_TIME);
    }
    //点击猫旁边的钱袋子
    //click(PURSE_X, PURSE_Y);
    //className("android.widget.Button").textContains("7点可领").findOne().click();
    if (className("android.widget.Button").textContains("点击领取").exists()) {
        className("android.widget.Button").textContains("点击领取").findOne().click();
        text("去喂猫 赚更多喵币").waitFor();
        text("去喂猫 赚更多喵币").findOne().click();
        sleep(SHORT_TIME);
    }
    //sleep(SHORT_TIME * 2);
    //点击赚喵币进入任务页
    //click(ZHUAN_X, ZHUAN_Y - 100);
    className("android.widget.Button").text("赚喵币").findOne().click()
    toast("赚喵币");
    sleep(SHORT_TIME * 2);
    if (text("签到").exists()) {
        text("签到").findOne().click();
        sleep(SHORT_TIME);
        toast("签到成功");
        sleep(2000);
    }
    while (text("去浏览").exists()) {
        toast("存在去浏览");
        text("去浏览").findOne().click();
        sleep(1500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(2500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(10000);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(8000);
        back();
        sleep(SHORT_TIME + 1000);
        if (!text("累计任务奖励").exists()) {
            back();
            sleep(SHORT_TIME);
        }
    }
    if (textContains("邀请好友一起撸猫").exists()) {
        //任务中有邀请任务,无法自动完成,跳过这个任务
        toast("有邀请任务");
        while (text("去完成").exists()) {
            //寻找并点击第二个“去完成”
            var tmp = text("去完成").findOnce(1);
            if (tmp == null) {
                //找不到第二个任务了,结束循环
                break;
            }
            toast("存在新任务");
            tmp.click();
            sleep(2500);
            swipe(width / 2, height - 600, width / 2, 0, 500);
            sleep(3500);
            swipe(width / 2, height - 600, width / 2, 0, 500);
            sleep(10000);
            swipe(width / 2, height - 600, width / 2, 0, 500);
            sleep(9000);
            back();
            sleep(SHORT_TIME + 1000);
        }
    else {
        toast("无邀请任务");
        while (text("去完成").exists()) {
            toast("存在新任务");
            text("去完成").findOne().click();
            sleep(2500);
            swipe(width / 2, height - 600, width / 2, 0, 500);
            sleep(3500);
            swipe(width / 2, height - 600, width / 2, 0, 500);
            sleep(10000);
            swipe(width / 2, height - 600, width / 2, 0, 500);
            sleep(9000);
            back();
            sleep(SHORT_TIME + 1000);
        }
    }
    while (text("去搜索").exists()) {
        toast("存在去搜索");
        text("去搜索").findOne().click();
        sleep(1500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(2500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(10000);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(8000);
        back();
        sleep(SHORT_TIME + 1000);
    }
    while (text("去逛逛").exists()) {
        toast("存在去逛逛");
        text("去逛逛").findOne().click();
        sleep(1500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(2500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(10000);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(8000);
        back();
        sleep(SHORT_TIME + 1000);
    }
    toast("领取完成...");
    if (TAP_FLAG) {
        back();
        sleep(SHORT_TIME + 1000);
        //点击“疯抢红包”进入活动页
        id("rv_main_container").findOne().child(4).child(0).child(0).click();
        //click(width / 2 + 200, TAOBAO_Y);
        //开始扁猫功能
        taptap();
    }
    home();
    //刷支付宝喵币
    toast("脚本结束^_^");
    //取消屏幕常亮
    device.cancelKeepingAwake();
    sleep(SHORT_TIME);
    exit();
}
function lingQuZhifubao() {
    //toast("正在打开支付宝...");
    app.startActivity({
        packageName: "com.eg.android.AlipayGphone",
        className: "com.eg.android.AlipayGphone.AlipayLogin"
    });
    //waitForActivity("com.eg.android.AlipayGphone.AlipayLogin");
    //sleep(LONG_TIME);
    ui.run(function() {
        w.text.setText("★★★Tips:若长时间无反应请手动打开支付宝首页");
    });
    text("扫一扫").waitFor();
    //text("付钱/收钱").waitFor();
    //sleep(SHORT_TIME);
    sleep(2000);
    ui.run(function() {
        w.text.setText("★★★如等待较长请手动进入支付宝活动页");
    });
    //点击进入活动页,控件的clickable为false,需要点击坐标
    var target=className("android.widget.RelativeLayout").idContains("home_adbannerview").findOne(SHORT_TIME);
    if (target==null) {
        //toast(1);
        target = className("android.widget.FrameLayout").descContains("双11狂欢节").findOne(2000);
        //有时候两个按钮的desc都是双11,要判断一下右边那个
        if (target.bounds().right < (width / 2)) {
            target = className("android.widget.FrameLayout").desc("双11狂欢节").findOnce(1);
        }
        // toast(target.bounds());
        //下面是点击靠下入口的位置
        click(target.bounds().centerX(), target.bounds().centerY());
        //toast(target.bounds());
    else {
        //log(idContains("home_adbannerview").findOne(2000));
        //toast(2);
        //10月26日后修改了活动页位置
        target = descContains("双11来了,瓜分20亿红包").findOne(2000);
        if (target != null) {
            //toast(3);
            click(parseInt(width / 2), target.bounds().bottom - 100);
        else {
            //toast(4);
            target = idContains("home_grid_notice_container").findOne();
            //寻找按键下方的grid的位置,往上数100个像素就是要点击的纵坐标
            //点击“马上领取”进入活动页
            click(parseInt(width / 2), target.bounds().top - 100);
        }
    }
    /*
    if (className("android.widget.Button").text("我的猫,点击撸猫").findOne(2000) == null) {
        click(parseInt(width / 2), target.top - 100);
    }*/
    //sleep(LONG_TIME);
    textContains("我的猫,点击撸猫").waitFor();
    sleep(1000);
    //检测彩蛋
    ui.run(function() {
        w.text.setText("★★★Tips:按下[音量-]键或者长按[悬浮窗内文字]可随时结束脚本");
    });
    if (text("获得一个待开奖的彩蛋").exists()) {
        text("好的,11月11日见").findOne().click();
        toast("领取彩蛋成功");
        sleep(SHORT_TIME);
    }
    //点击猫旁边的钱袋子
    //click(PURSE_X, PURSE_Y);
    if (className("android.widget.Button").textContains("点击领取").exists()) {
        className("android.widget.Button").textContains("点击领取").findOne().click();
        text("去喂猫 赚更多喵币").waitFor();
        text("去喂猫 赚更多喵币").findOne().click();
        sleep(SHORT_TIME);
    //点击赚喵币进入任务页
    //click(ZHUAN_X, ZHUAN_Y - 100);
    toast("赚喵币");
    if (className("android.widget.Button").text("赚喵币").exists()) {
        className("android.widget.Button").text("赚喵币").findOne().click();
        sleep(SHORT_TIME * 2);
    }
    if (text("签到").exists()) {
        text("签到").findOne().click();
        sleep(SHORT_TIME);
        toast("签到成功");
        sleep(2000);
    }
    while (text("逛一逛").exists()) {
        toast("存在逛一逛");
        text("逛一逛").findOne().click();
        sleep(18000);
        back();
        sleep(SHORT_TIME + 1000);
        if (text("好的,我知道了").exists()) {
            text("好的,我知道了").findOne().click();
            sleep(SHORT_TIME);
        }
        if (text("残忍离开").exists()) {
            text("残忍离开").findOne().click();
            sleep(SHORT_TIME);
        }
    }
    //支付宝的“去完成”任务差异较大,其他任务需手动完成
    //施肥任务
    if (text("去芭芭农场施肥一次").exists()) {
        text("去芭芭农场施肥一次").findOne().parent().child(3).click();
        ui.run(function() {
            w.text.setText("★★★正在运行[去芭芭农场施肥一次]任务,如等待较长请手动操作完成");
        });
        sleep(SHORT_TIME);
        //点击“集肥料
        target = className("android.widget.Image").idContains("game").findOne().parent().parent().parent().parent().child(3);
        target.click();
        //点击“去签到”
        var t = text("去签到").findOne(3000);
        if (t != null) {
            t.click();
        else {
            toast("未找到[去签到],如肥料不够请手动获取");
        }
        //关闭任务界面
        className("android.widget.Image").idContains("game").findOne().parent().parent().parent().parent().parent().child(3).child(0).child(1).click();
        sleep(1000);
        //领取当日肥料
        target = className("android.widget.Image").idContains("game").findOne().bounds();
        click(target.centerX() + 230, target.centerY() + target.height() * 0.09);
        t = text("去施肥").findOne(1000);
        if (t != null) {
            t.click();
        }
        //点击施肥
        sleep(1000);
        target = className("android.widget.Image").idContains("game").findOne().parent().parent().parent().parent().child(3);
        click(width / 2, target.bounds().centerY());
        back();
        text("好的,我知道了").findOne().click();
        ui.run(function() {
            w.text.setText("★★★Tips:按下[音量-]键或者长按[悬浮窗内文字]可随时结束脚本");
        });
        sleep(SHORT_TIME);
    }
    //浇水任务
    if (text("去蚂蚁森林给好友浇水").exists()) {
        ui.run(function() {
            w.text.setText("★★★正在运行[浇水]任务,如浇水上限/等待较长请手动操作完成");
        });
        text("去蚂蚁森林给好友浇水").findOne().parent().child(3).click();
        text("种树").waitFor();
        swipe(width / 2, height - 300, width / 2, 0, 500);
        //点击排行榜第一
        //sleep(1000);
        toast(text("总排行榜").findOne().parent().parent().child(12).child(0).bounds());
        text("总排行榜").findOne().parent().parent().child(12).child(0).click();
        textEndsWith("的蚂蚁森林").waitFor();
        sleep(1000);
        target = idContains("J_tree_dialog_wrap").findOne().bounds();
        //点击浇水
        click(target.centerX() - 50, target.bottom - 50);
        className("android.widget.Button").text("浇水送祝福").findOne().click();
        sleep(1000)
        back();
        sleep(2000);
        back();
        text("好的,我知道了").findOne().click();
    }
    //点击猫旁边的钱袋子
    //click(PURSE_X, PURSE_Y);
    if (className("android.widget.Button").textContains("关闭任务弹窗").exists()){
        className("android.widget.Button").textContains("关闭任务弹窗").findOne().click();
        sleep(500);
        }
    if (className("android.widget.Button").textContains("点击领取").exists()) {
        className("android.widget.Button").textContains("点击领取").findOne().click();
        text("去喂猫 赚更多喵币").waitFor();
        text("去喂猫 赚更多喵币").findOne().click();
    }
    //home();
    //sleep(SHORT_TIME);
    //淘宝领取
    if (MODE == 1) {
        if (TAP_FLAG){
            toast("开始扁猫猫");
            taptap();
            }
        toast("无[逛一逛]任务,脚本结束^_^");
        //取消屏幕常亮
        device.cancelKeepingAwake();
        sleep(SHORT_TIME);
        exit();
    else {
        toast("无[逛一逛]任务\n结束支付宝,等待打开淘宝...");
        lingQuTaobao();
    }
}
function taptap() {
    //扁猫猫可以获得额外的蚊子腿喵币
    toast("开始狂扁猫猫功能");
    className("android.widget.Button").text("我的猫,点击撸猫").waitFor();
    for (var i = 0; i < TAP_TIMES; i++) {
        //点击中心位置
        click(parseInt(width / 2), parseInt(height / 2));
        sleep(TAP_INTERVAL);
    }
    toast("扁猫结束");
}
function floatW() {
    //悬浮窗不会自动关闭
    setInterval(() => {}, 1000);
    w.setPosition(0, height - 800);
    w.setSize(400, 300);
    //悬浮窗可调整大小
    w.setAdjustEnabled(true);
    //退出悬浮窗即结束脚本
    //w.exitOnClose();
    //长按悬浮窗内文字结束脚本
    w.text.longClick(() => {
        //取消屏幕常亮
        device.cancelKeepingAwake();
        toast("检测到长按悬浮窗文字,脚本终止");
        //try...catch把exit()函数的异常捕捉,则脚本不会立即停止,仍会运行几行后再停止
        try {
            exit();
        catch (err) {}
        //直接exit()的话坚持不到return的时候
        return true;
    });
}
function killOthersAlive() {
    //获取全部正在运行的脚本引擎
    var allEngines = engines.all();
    //log(allEngines);
    for (var i = 0; i < allEngines.length; i++) {
        //停掉除了本脚本以外的正在运行的脚本
        if (allEngines[i] != engines.myEngine()) {
            allEngines[i].forceStop();
        }
    }
}

 2.Auto.js的使用方法

简单说,Auto.js是一个手机的APP,不需要root权限就能运行自己写的JS脚本。

  • 安装AutoJS(可以在此下载下载:https://wws.lanzous.com/i6opglvizaf 密码:添加微信公众号【泓源视野网络安全】
  • 发送【手机脚本】免费获得
  • 在手机上安装并打开Auto.js,会提示打开辅助功能(各个手机叫法不同,比如三星叫服务,魅族叫无障碍服务)。

关于无障碍功能的开启,各个手机可能不同,但大致是一样的,以MIUI为例,入口在:设置 - 更多设置 - 无障碍 - 已下载的服务 - Auto.js - 开启服务

  •  给Auto.js开启 "后台弹出界面" 权限,否则无法启动第二个app!!!(开启方法:长按Auto.js,打开应用信息 - 权限设置,确认“后台弹出界面”权限开启,见下图)

(华为手机找不到这个权限:设置〉应用管理〉设置〉特殊访问权限〉在其他应用的上层显示〉auto.js)

autojs自动化手机脚本实现淘宝芭芭农场签到领肥料插图

  • 打开Auto.js,点击右下角"+"号,(在这里选择“导入”可以导入前面下载的js脚本)选择“文件”可以创建新的脚本,随便起个名字,点“确定”,然后把这个博客上面的代码完整复制进去,点右上角保存的图标
  • 关闭键盘,点右上角的小三角运行程序
  • 等待程序运行,超过15s没反应才是不正常的。(建议锁屏时间设置为30s及以上)

附加题:Auto.js有自动定时运行脚本的功能,你可以设置这个脚本在每天早上你还没醒的时候自动运行刷喵币,可以参考如下:

点击脚本右边的菜单按钮->更多->定时任务即可定时运行脚本,但是必须保持Auto.js后台运行(自启动白名单、电源管理白名单等)。同时,可以在脚本的开头使用device.wakeUp()来唤醒屏幕;但是,Auto.js没有解锁屏幕的功能,因此难以在有锁屏密码的设备上达到效果。


 3.安卓手机获取点击屏幕坐标的方法

  • 确认开启开发者模式

如何打开开发者模式请参考https://baijiahao.baidu.com/s?id=1595634582987842609

  • 进入开发者选项
    • 入口一般是:“设置”-“更多设置”-“开发者选项”
    • 往下滑,找到“指针位置”功能并打开,之后的点击操作都会在屏幕上方显示坐标,屏幕上的细线不是屏幕坏了,是记录了你的滑动轨迹
    • 通过这个功能,手动进行打开淘宝进入活动界面刷喵币等操作,根据屏幕上方显示的坐标修改代码最前面对应操作的坐标,使得自动点击操作能够适配你的手机屏幕

autojs自动化手机脚本实现淘宝芭芭农场签到领肥料插图1


4.写给小白

  1. 把链接的两个文件都下载了(记得自己的下载位置)
  2. 把apk文件安装
  3. 把zip文件解压了,得到js文件(记得解压位置)
  4. 看上面第二点“Auto.js的使用方法”中,按照上面写的方法给设置 无障碍 和 后台显示 权限
  5. 打开Auto.js,点击右下角的+号,选第一个导入脚本,脚本就是第3步你解压的js文件
  6. 确保淘宝和支付宝未开启,或者在首页,打开手机GPS定位,在Auto.js点击三角号运行脚本(首次运行脚本可能会提示是否允许Auto.js打开支付宝/淘宝,手动点击确认,按[音量-键]结束,并重新运行脚本即可)
  7. 如果遇到瞎点的情况,请立即按下手机的[音量-]键停止程序,你也可以在Auto.js的主页-管理中找到正在运行的脚本,点击×关掉它
  8. 如果出错请告诉我具体执行到哪个阶段。

5.写给进阶玩家

  • 在上面的小白的基础上,可以自己纠错
  • 比如通过第三点安卓手机获取点击屏幕坐标的方法让脚本运行时显示每次点击的具体坐标,然后修改代码最开头的常量,对自己的手机进行适配
  • 通过Auto.js给脚本设置自动运行时间,每天睡觉的时候自动刷
  • 想改啥改啥,注释写的很详细了

Auto.js官方文档

https://hyb1996.github.io/AutoJs-Docs/#/


 6.Q&A

  • Q:我觉得脚本运行的每步操作等的太久了,有点憨憨

A:稳定性比效率更重要,这是为了照顾老年机和山区的同志,你可以自行修改代码第5、6行的时间常量,设置小一些。

如果等待时间过短,会出现未加载成功就进行判定和点击操作,从而导致错误的逻辑。

相对的如果你的手机太卡,或者网络不佳,可以增大这两个时间常量(需要设置手机锁屏时间不要过短,否则会锁屏)。

  • Q:进入活动页后没有点“赚喵币”/没有进入“赚喵币”的任务界面,直接提示“无[逛一逛]任务”就结束支付宝领取流程

A:问题出在1.0版本的一个BUG,已于1.11之后的版本修复

  • Q:开启扁猫猫功能后出现“TABAO_X未定义”的情况

A:问题出在1.12版本的一个BUG,已于1.13之后的版本修复


 7.注意事项

  • 测试环境是安卓10版本,运行可能需要安卓7版本以上,适合1080p分辨率的全面屏手机
  • 程序并没有测试所有情况,可能会遇到一些偶然弹窗影响进程,一般手动处理后,关掉脚本和淘宝支付宝,重新运行即可
  • 每天可以通过任务界面最下面的淘宝和支付宝互相打开的按钮领取10万喵币,一次性的,请手动完成
  • 累计任务奖励需要手动领取
  • 喂猫升级需要自己操作
  • 程序的的唤起如果失败,需要注意是否禁止了被其他程序启动
  • 由于只在我自己的小米8上进行了测试,屏幕尺寸1080*2248,针对不同设备可能需要手动调整代码最开始的常量,如果你的某一步点击操作失败,请自行调整代码最前面的常量以适配你的屏幕
  • 这是一个脚本的想法和验证,仅供学习交流,下载体验后,请24小时内删除!!!
  • 非商业性使用 — 不得将此项目及其衍生的项目的源代码和二进制产品用于任何商业和盈利用途
  • License:本项目使用CC-BY-NC-SA授权,但禁止使用此脚本发布任何教学视频!!!

吐槽:主要的坑在于连续启动两个app,尝试了各种方法,原来问题出在权限不够,感谢这位老哥

本文由 泓源视野 作者:admin 发表,其版权均为 泓源视野 所有,文章内容系作者个人观点,不代表 泓源视野 对观点赞同或支持。如需转载,请注明文章来源。
16

发表评论

Protected with IP Blacklist CloudIP Blacklist Cloud
您是第8236321 位访客, 您的IP是:[54.146.154.243]