autojs05autojspro常⽤的代码和公共函数如何⽤Autojs来写脚本
如何⽤Autojs来写脚本,⼀部⼿机除了睡觉的时间之外,都可以给你来赚钱,⼿机不是⽤来看的,⼿机是⽤来赚钱的。我劝你把⼿机仍在⼀个⾓落⾥⾯,让它乖乖地给你去赚
钱,⽽你呢,你应该去做你⾃⼰想做的事情,⽐如对于我来说,我喜欢写程序,看书,喝茶,做家务,陪⼉⼦玩。那么这个时间你就不要去玩⼿机了,极简主义者连⼿机这种东
西都是不碰的,所以我今天要给⼤家倡导⼀个理念:让⼿机给你赚零花钱。
植⼊了理念,后⾯就谈怎么去做,如果你要让⼿机给你赚钱,赚的是什么钱,我们这⾥不做违法的事情,不做黄⾊的,不做赌博的,那么我们做什么,简单来说就是薅⽺⽑,就
是通过⾃动阅读新闻,观看视频,获取平台的收益,本来这个事情是需要你的⼿指去疯狂点击的,现在呢,就不需要了,要让计算机脚本语⾔帮助你去实现。
今天我介绍的⼀款软件是Autojs,这个是⼀个写⼿机运⾏脚本的⼯具,这个是国⼈开发的,⾃豪
这个⼤家可以在模拟器上⾯去安装,具体的操作步骤我就不讲了,我主要来讲解⼀下我们怎么去做这个薅⽺⽑的事情,
模拟器上⾯装好以后,就是看到这个界⾯
我们现在以刷宝为例⼦,来讲解,⾸先先下载“刷宝短视频”,百度搜索⼀下就可以了,安装后注册你的账号,通常是以号来登陆,绑定⼀下,这样才能够提现。
然后我们要下载⼀个JS code的软件,这个软件是⽅便你在电脑上去写脚本,原理上你从⼿机上去写也是可以的,完全可以,⼩编就是在去公司的班车上,在⼿机上来写薅⾦脚
本的!但是在⼿机上写,你会很累,所以你在JS code上下载⼀个插件,就可以来写了。这边我以⼿机端举例⼦,我们来讲解⼀个最简单的例⼦,循序渐进地讲,其实要很快学
会⼀门计算机编程语⾔,最快的⽅法,就是你想要去实现⼀个东西,然后你带着这个⽬标去学怎么写,这样是最快的。
今天我们就写⼀句代码,如何⾃动打开像趣头条,今⽇头条之类的平台,
launchApp("刷宝短视频");
1
lanchApp("刷宝短视频“) 解析
好的,我们来讲解⼀下这个代码的意思,launchApp的意思就是英⽂“加载App的意思”,这是⼀个函数,函数是⽤括号括起来的,⼤家学过初中数学的话知道函数是 y=f(x), 这个x
是⾃变量,y是应变量,就是说y和x存在⼀个对应的关系,输⼊⼀个x,通过⼀定的规则法则,就出来⼀个y, 这个就是⼀个规则,⽐如说:y=2x, 就是你放⼤了2倍, y=1/2*x,就是
缩⼩了⼀倍。这个是数学的概念,其实函数的思想可以⽤来阐述各种事物,计算机编程语⾔中的函数其实也是这个意思,launchApp就是⼀个规则,x是什么呢,就是“刷宝短视
频“,那么y是什么呢,这⾥没有给定,那就是⼀个空的返回值,可以不返回任何值,”刷宝短视频“就是你下载的应⽤App的名字,同样,你可以写“趣头条”,“今⽇头条”等等。
给⼤家看看,效果,执⾏这个脚本以后,程序⾃动开启“刷宝短视频”了,怎么样,好玩吗
——————————
1 /**
2  * 整理者: 家
3  * ⽇期:  20190224
4  * 妈呀:  整理了⼀宿,现在是早上6:34
5  * 功能: 把某些常⽤的函数集中起来,⽅便调⽤
6  * 函数来源: 都是⾥的⼤佬写的,稻草⼈,+攀登,Ai,破晓的星⾠,灶猫,家,浩然,⽩酒煮饭,⽣僻字⼤佬,内个谁,Xero,⽆名⼩,壞蛋┭,锦瑟安年Ω,专业滥竽充数,膜拜以上⼏位⼤神,不管你们同意不同意,我都把你们的代码搬到⼀块了,O(∩_∩)O哈哈~
7  * git:  github/snailuncle/autojsCommonFunctions/blob/master/autojsCommonFunctions.js
8  */
9
10 //此代码由飞云脚本圈整理提供(www.feiyunjs)
11
12 //  //导⼊模块
13 //  function 导⼊常⽤函数模块(){
14 //  var url='raw.githubusercontent/snailuncle/autojsCommonFunctions/master/autojsCommonFunctions.js'
15 //  var r = (url)
16 //  log("code = " + r.statusCode);
17 //  var html=r.body.bytes()
18 //  files.writeBytes('./autojsCommonFunctions.js',html)
19 //  var common=require('./autojsCommonFunctions.js')
20 //  return common
21 // }
22 // var common=导⼊常⽤函数模块()
23 // log(common)
24 // for(let i=0;i<33;i++){
25 //  common.('fire in the hole')
26 // }
27
28
29
30
31 [
32  '点击控件',
33  '铃声',
34  '启动app',
35  '停⽌app',
36  '卸载app',
37  '卸载app没root',
38  '清除app数据',
39  '启动最新安装的app',
40  '停⽌最新安装的app',
41  '卸载最新安装的app',
42  '清除最新安装的app数据',
43  '静默安装app',
44  '获取app图标',
45  '控制app联⽹',
46  '获取⼿机上所有的app名字',
47  '点击输⼊框弹出输⼊法',
48  '使所有输⼊框点击时都能弹出输⼊法',
49  '失去焦点',
50  '是否root',
51  '获取指定应⽤的版本号',
52  '打开qq名⽚',
53  '打开qq名⽚',
54  'qq强制聊天',
55  '字节变为gbk中⽂',
56  '最新安装的app',
57  '⽂件修改时间',
58  '⽂件⼤⼩',
59  '字符串变字节',
60  '⽇期加N天',
61  'md5',
62  '是横屏还是竖屏',
63  '截图',
64  '随机字符',
65  '获取时间',
66  '调整⼿机⾳量',
67  '扫⼀扫',
68  '公共字符串',
69  '⽹络',
70  '安卓intent源码',
71  '获取⼿机ip地理位置',
72  '替换系统⽂件',
73  '编辑距离',
74  '数组交集',
75  '提取包含关键字的app',
76  '获取页⾯所有⽂字',
77  '悬浮控制',
78  '',
79  '打开开发者选项',
80  '⽓泡',
81  '随机字符串',
82  'wifi状态',
83  '开关飞⾏模式',
84  '上滑',
85  '获取deflate⽹页内容',
86  '获取gzip⽹页内容'
87  ]
88
89
90
91
92
93  var common = {}
94  Array.prototype.intersect = function () {
95    var result = new Array();
96    var obj = {};
97    for (var i = 0; i < arguments.length; i++) {
98      for (var j = 0; j < arguments[i].length; j++) {
99        var str = arguments[i][j];
100        if (!obj[str]) {
101          obj[str] = 1;
102        } else {
103          obj[str]++;
104          if (obj[str] == arguments.length) {
105            result.push(str);
106          }
107        } //end else
108      } //end for j
109    } //end for i
110    return result;
111  }
112  //集合去掉重复
113  Array.prototype.uniquelize = function () {
114    var tmp = {},
115      ret = [];
116    for (var i = 0, j = this.length; i < j; i++) {
117      if (!tmp[this[i]]) {
118        tmp[this[i]] = 1;
119        ret.push(this[i]);
120      }
121    }
122    return ret;
123  }
124  //并集
125  Array.prototype.union = function () {
126    var arr = new Array();
127    var obj = {};
128    for (var i = 0; i < arguments.length; i++) {
129      for (var j = 0; j < arguments[i].length; j++) {
130        var str = arguments[i][j];
131        if (!obj[str]) {
132          obj[str] = 1;
133          arr.push(str);
134        }
135      } //end for j
136    } //end for i
137    return arr;
138  }
139  //2个集合的差集在arr不存在
140  Array.prototype.minus = function (arr) {
141    var result = new Array();
142    var obj = {};
143    for (var i = 0; i < arr.length; i++) {
144      obj[arr[i]] = 1;
145    }
146    for (var j = 0; j < this.length; j++) {
147      if (!obj[this[j]]) {
148        obj[this[j]] = 1;
149        result.push(this[j]);
150      }
151    }
152    return result;
153  };
154  // console.log(Array.intersect(["1", "2", "3"], ["2", "3", "4", "5", "6"])); //[2,3]
155  // console.log([1, 2, 3, 2, 3, 4, 5, 6].uniquelize()); //[1,2,3,4,5,6]
156  // console.log(Array.union(["1", "2", "3"], ["2", "3", "4", "5", "6"], ["5", "6", "7", "8", "9"])) 157  // console.log(["2", "3", "4", "5", "6"].minus(["1", "2", "3"]));
158
159  common.点击控件 = function (view) {
160    log(arguments.callee.name + '开始')
161    log(view)
162    if (view) {
163      var x = view.bounds().centerX()
164      var y = view.bounds().centerY()
165      log('将要点击的坐标 %s,%s', x, y)
166      press(x, y, 1)
167    } else {
168      throw '传⼊点击控件中的view异常'
169    }
170    log(arguments.callee.name + '结束')
171  }
172  common.铃声 = function (铃声类型, 是否循环播放, 播放时长) {
173    var 铃声类型 = 铃声类型 || 0
174    var 播放时长 = 播放时长 || 6000
175    var 是否循环播放 = 是否循环播放 || false
176    if (是否循环播放) {
177      播放时长 = 666 * 1000
178    }
179    var 铃声选择结果 = dia.RingtoneManager.TYPE_NOTIFICATION
180    switch (铃声类型) {
181      case 0:
182        铃声选择结果 = dia.RingtoneManager.TYPE_RINGTONE
183        break;
184      case 1:
185        铃声选择结果 = dia.RingtoneManager.TYPE_ALARM
186        break;
187      case 2:
188        铃声选择结果 = dia.RingtoneManager.TYPE_ALL
189        break;
190      default:
191        break;
192    }
193    var mp = dia.MediaPlayer();
194    mp.setDataSource(context, DefaultUri(铃声选择结果)); 195    if (是否循环播放) mp.setLooping(true);
196    mp.prepare();
197    mp.start();
198    threads.start(function () {
199      sleep(播放时长)
200      if (mp.isPlaying()) {
201        mp.stop()
202      }
203    });
204    return mp;
205  }
206
207  common.启动app = function (appName) {
208    launchApp(appName)
209  }
210
211  common.停⽌app = function (appName) {
212    var packageName=getPackageName(appName);
213    shell('am force-stop ' + packageName,true);
214
215  }
216  common.卸载app = function (appName) {
217    var packageName=getPackageName(appName);
218    shell("pm uninstall "+packageName,true)
219  }
220
221  common.清除app数据 = function (appName) {
222    var packageName=getPackageName(appName);
223    shell('pm clear ' + packageName,true);
224  }
225
226
227  common.卸载最新安装的app=function (){
228    var pm = PackageManager()
229    var InstalledApplications(0)
230    var appInfoList=[]
231    for(let i=0;i<appList.size();i++){
232      var (i)
233      var appInfo={
234        appName:app.loadLabel(pm),
235        packageName:app.packageName,
236        isSystemApp:app.isSystemApp(),
237        PackageInfo(app.packageName,0).firstInstallTime
238      }
239      appInfoList.push(appInfo)
240
241    }
242    appInfoList.sort((a,b)=>{
243      return b.firstInstallTime-a.firstInstallTime
244    })
245    log('最新安装的app是=%j',appInfoList[0])
246
247    var packageName=appInfoList[0].packageName
248    shell("pm uninstall "+packageName,true)
249    return appInfoList[0].appName
250  }
251  common.清除最新安装的app数据=function (){
252    var pm = PackageManager()
253    var InstalledApplications(0)
254    var appInfoList=[]
255    for(let i=0;i<appList.size();i++){
256      var (i)
257      var appInfo={
258        appName:app.loadLabel(pm),
259        packageName:app.packageName,
260        isSystemApp:app.isSystemApp(),
261        PackageInfo(app.packageName,0).firstInstallTime
262      }
263      appInfoList.push(appInfo)
264
265    }
266    appInfoList.sort((a,b)=>{
267      return b.firstInstallTime-a.firstInstallTime
268    })
269    log('最新安装的app是=%j',appInfoList[0])
270
271    var packageName=appInfoList[0].packageName
272    shell('pm clear ' + packageName,true);
273    return appInfoList[0].appName
274  }
275  common.停⽌最新安装的app=function (){
276    var pm = PackageManager()
277    var InstalledApplications(0)
278    var appInfoList=[]
279    for(let i=0;i<appList.size();i++){
280      var (i)
281      var appInfo={
282        appName:app.loadLabel(pm),
283        packageName:app.packageName,
284        isSystemApp:app.isSystemApp(),
285        PackageInfo(app.packageName,0).firstInstallTime
286      }
287      appInfoList.push(appInfo)
288
289    }
290    appInfoList.sort((a,b)=>{
291      return b.firstInstallTime-a.firstInstallTime
292    })
293    log('最新安装的app是=%j',appInfoList[0])
294
295
296
297
298    var packageName=appInfoList[0].packageName
299    shell('am force-stop ' + packageName,true);
300    return appInfoList[0].appName
301  }
302
303  common.启动最新安装的app=function (){
304    var pm = PackageManager()
305    var InstalledApplications(0)
306    var appInfoList=[]
307    for(let i=0;i<appList.size();i++){
308      var (i)
309      var appInfo={
310        appName:app.loadLabel(pm),
311        packageName:app.packageName,
312        isSystemApp:app.isSystemApp(),
313        PackageInfo(app.packageName,0).firstInstallTime
314      }
315      appInfoList.push(appInfo)
316
317    }
318    appInfoList.sort((a,b)=>{
319      return b.firstInstallTime-a.firstInstallTime
320    })
321    log('最新安装的app是=%j',appInfoList[0])
322
323
324
325
326    var packageName=appInfoList[0].packageName
327    launch(packageName)
328    return appInfoList[0].appName
329  }
330
331  common.点击输⼊框弹出输⼊法=function (window,view){
332    (
333      "touch_down", function () {
334        questFocus();
335        questFocus();
336      }
337    )
338    (
339      "key", function (keyCode,event) {
340        Action()==event.ACTION_DOWN && keyCode == keys.back){
341          window.disableFocus()
342          sumed=true
343        }
344        questFocus();
345        questFocus();
346      }
347    )
348
349  }
350
351
352  common.使所有输⼊框点击时都能弹出输⼊法=function (window,inputBoxViewArr){ 353    for(let i=0;i<inputBoxViewArr.length;i++){
354      var view=inputBoxViewArr[i]
355      common.点击输⼊框弹出输⼊法(window,view)
356    }
357  }
358
359
360
361  common.失去焦点=function (window){
362    window.disableFocus()
363  }
364
365
366
367
368
369  common.是否root=function(){
370    var r=shell("ls /system/bin",true).String()
371    if(r.length>50){
372      return true
373    }else{
374      return false
375    }
376  }
377  common.获取指定应⽤的版本号 = function (appName) {
378    /**
379      * 获取指定应⽤的版本号
380      * @param {string} packageName 应⽤包名
381      */
382    function getPackageVersion(packageName) {
383      t);
384      var pckMan = PackageManager();
385      var packageInfo = PackageInfo(packageName, 0);
386      return packageInfo.versionName;
387    }
388    var packageName = getPackageName(appName);
389    return getPackageVersion(packageName)
390  }
391
392
393  common.打开qq名⽚=function (qq号){
394    app.startActivity({
395        action: "android.intent.action.VIEW",
396        data:"mqqapi://card/show_pslcard?card_type=group&uin="+qq号,
397        packageName: "bileqq",
398    });//打开qq名⽚
399
400
401  }
402
403
404
405  common.打开qq名⽚=function (qq号){
406    app.startActivity({
407        action: "android.intent.action.VIEW",
408        data:"mqqapi://card/show_pslcard?uin="+qq号,
409        packageName: "bileqq",
410    });//打开qq名⽚
411
412
413  }
414
415  common.qq强制聊天=function (qq号){
416    app.startActivity({
417        action: "android.intent.action.VIEW",
418        data:"mqq://im/chat?chat_type=wpa&version=1&src_type=web&uin="+qq号, 419        packageName: "bileqq",
420    });//qq强制聊天
421
422  }
423
424  common.字节变为gbk中⽂ = function (bytesContent) {
425    var str = new java.lang.String(bytesContent, "gbk")
426    return str
427  }
428  common.最新安装的app = function () {
429
430    var pm = PackageManager()
431    var InstalledApplications(0)
432    var appInfoList=[]
433    for(let i=0;i<appList.size();i++){
434      var (i)
435      var appInfo={
436        appName:app.loadLabel(pm),
437        packageName:app.packageName,
438        isSystemApp:app.isSystemApp(),
439        PackageInfo(app.packageName,0).firstInstallTime
440      }
441      appInfoList.push(appInfo)
442    }
443    appInfoList.sort((a,b)=>{
444      return b.firstInstallTime-a.firstInstallTime
445    })
446    log('最新安装的app是=%j',appInfoList[0])
447    return appInfoList[0]
448
449
450  }
451  common.⽂件修改时间 = function (path) {
452    var time=new java.io.File(files.path(path)).lastModified();
453    return  time
454  }
455  common.⽂件⼤⼩ = function (path) {
456    var size = new java.io.File(path).length()
457    return size
458  }
459  common.字符串变字节 = function (string) {
460    return new java.lang.String(string).getBytes();
461  }
462  common.⽇期加N天 = function (n) {
463    var now = new Date();
464    now.Date()+n);
465    return (now);
466  }
467  common.md5 = function (string) {
468    return java.math.BigInteger(1,java.Instance("MD5")
469    .digest(java.lang.String(string).getBytes())).toString(16);
470  }
471  common.是横屏还是竖屏 = function () {
472    var a = (ientation);
473    if (a === 1) {
474      toastLog("这是竖屏!!");
475      return '竖屏'
476    }
477
478    else {
479      toastLog("这是横屏!!");}
480      return '横屏'
481
482  }
483  common.截图 = function (path) {
484    var path=path || '/sdcard/1temp.png'
485
486    var dd = shell("screencap -p "+path,true)
487    var img
488    de ==0){
489        img = ad(path)
490    }else{
491        log("错误信息:")
492        )
493    }
494    return img
495
496
497  }
498  common.随机字符=function (n){
下载app里的视频
499    var n= n || 8
500    var str="";
501    for(var i=0;i<n;i++){
502    str+=String.fromCharCode(random(0,65535));
503    }
504    return str;
505    }
506
507  common.获取时间=function (time) {
508    if (time) {
509        return SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time)); 510    } else {
511        return SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
512    }
513  }
514
515  common.调整⼿机⾳量=function (){
516
517    var am = SystemService(context.AUDIO_SERVICE)
518    // STREAM_MUSIC这个⾃⼰试试,是调整那种⾳量,范围0-6  ⾃⼰试试,我也不知道
519    var STREAM_MUSIC = 1
520    // 1 增⼤⾳量  -1  降低⾳量  0 不变
521    var ADJUST_RAISE = -1
522    //  1 显⽰调整⾳量界⾯  0  不显⽰界⾯
523    var FLAG_SHOW_UI = 1
524    am.adjustStreamVolume(STREAM_MUSIC, ADJUST_RAISE, FLAG_SHOW_UI)
525
526
527    //获取最⼤⾳量
528    var max = am.getStreamMaxVolume(STREAM_MUSIC);
529    log(max)
530    //获取当前⾳量
531    toastLog('最⼤⾳量'+max)
532    sleep(2000)
533    var current = am.getStreamVolume(STREAM_MUSIC);
534    log(current)
535    toastLog('当前⾳量'+current)
536
537  }
538
539  common.扫⼀扫=function (){
540    context.startActivity(app.intent({
541      action: "VIEW",
542      className:"ui.LauncherUI",
543      packageName:"",
544      extras: {
545          "LauncherUI.From.Scaner.Shortcut": true
546      }
547    }).setFlags(335544320));
548  }
549  common.公共字符串=function (str1,str2){

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。