注册 登录
发贴工具
查看: 8|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] AIWROK软件无碍模式一键删除所有APP版示例

[复制链接]

2592

主题

2640

帖子

1万

积分

积分
15728
跳转到指定楼层
楼主

AIWROK软件无碍模式一键删除所有APP版示例
AIWROK软件无碍模式一键删除所有APP版示例 群发软件发帖工具

  1. //// AIWROK软件一键删除所有APP版示例
  2. // 使用无障碍模式UI自动化卸载应用

  3. print.log("===== auto 无障碍模式 一键删除所有应用版 =====");
  4. print.log("📌 重要提示:请确保手机屏幕当前显示桌面!");

  5. var 屏幕宽 = screen.getScreenWidth();
  6. var 屏幕高 = screen.getScreenHeight();
  7. print.log("当前屏幕:" + 屏幕宽 + " x " + 屏幕高);

  8. auto.setDetailedModel();

  9. var 排除包名列表 = [
  10.     "com.android.launcher3",
  11.     "com.android.settings",
  12.     "com.android.systemui",
  13.     "com.android.phone",
  14.     "com.android.mms",
  15.     "com.android.camera",
  16.     "com.android.contacts",
  17.     "com.android.dialer",
  18.     "com.android.email",
  19.     "com.android.calendar",
  20.     "com.android.gallery",
  21.     "com.android.filemanager",
  22.     "com.android.browser",
  23.     "com.android.inputmethod",
  24.     "com.google.android",
  25.     "com.android.webview",
  26.     "com.android.fallback",
  27.     "com.android.providers",
  28.     "com.android.server",
  29.     "com.android.internal",
  30.     "com.android.location",
  31.     "com.android.wifi",
  32.     "com.android.bluetooth",
  33.     "com.android.nfc",
  34.     "com.android.usb",
  35.     "com.android.media",
  36.     "com.android.audio",
  37.     "com.android.soundrecorder",
  38.     "com.android.packageinstaller",
  39.     "com.android.vending",
  40.     "com.android.market",
  41.     "com.android.keychain",
  42.     "com.android.print",
  43.     "com.android.dreams",
  44.     "com.android.externalstorage",
  45.     "com.android.sharedstoragebackup",
  46.     "com.android.backup",
  47.     "com.android.proxyhandler",
  48.     "com.android.captiveportallogin",
  49.     "com.android.documentsui",
  50.     "com.android.pacprocessor",
  51.     "com.android.storagemanager",
  52.     "com.android.managedprovisioning",
  53.     "com.android.cts",
  54.     "com.android.flags",
  55.     "com.android.egg",
  56.     "com.android.framework",
  57.     "com.android.settings.intelligence",
  58.     "com.android.shell",
  59.     "com.android.system",
  60.     "com.android.traceur",
  61.     "com.android.uirenderer",
  62.     "com.android.wallpaper",
  63.     "com.android.wallpaper.livepicker",
  64.     "com.android.launcher",
  65.     "com.android.inputmethod.latin",
  66.     "com.android.inputmethod.pinyin",
  67.     "com.android.inputmethod.sogou",
  68.     "com.baidu.input",
  69.     "com.tencent.input",
  70.     "io.aiwork",
  71.     "com.aiwork",
  72.     "aiwork",
  73.     "com.layernet.launcher",
  74.     "com.autoapp"
  75. ];

  76. function 是否排除包名(pkg) {
  77.     for (var i = 0; i < 排除包名列表.length; i++) {
  78.         var exclude = 排除包名列表[i];
  79.         if (pkg === exclude || pkg.indexOf(exclude) === 0) {
  80.             return true;
  81.         }
  82.     }
  83.     if (pkg.indexOf("com.android.") === 0) {
  84.         return true;
  85.     }
  86.     if (pkg.indexOf("android.") === 0) {
  87.         return true;
  88.     }
  89.     return false;
  90. }

  91. function 获取已安装应用列表() {
  92.     print.log("&#128269; 正在获取已安装应用列表...");
  93.     var 应用列表 = [];
  94.    
  95.     try {
  96.         var pm = context.getPackageManager();
  97.         var packageInfoList = pm.getInstalledPackages(0);
  98.         
  99.         for (var i = 0; i < packageInfoList.size(); i++) {
  100.             var info = packageInfoList.get(i);
  101.             var pkg = info.packageName;
  102.             
  103.             if (!是否排除包名(pkg)) {
  104.                 var 应用名称 = pm.getApplicationLabel(info.applicationInfo).toString();
  105.                 应用列表.push({
  106.                     packageName: pkg,
  107.                     name: 应用名称
  108.                 });
  109.             }
  110.         }
  111.         
  112.         print.log("&#128221; 共获取到 " + 应用列表.length + " 个可卸载应用");
  113.     } catch (e) {
  114.         print.log("✗ 获取应用列表失败:" + e.message);
  115.     }
  116.    
  117.     return 应用列表;
  118. }

  119. function 查找文字节点(关键词) {
  120.     try {
  121.         auto.refresh();
  122.         var 节点集合 = auto.nodeSearch(2000);
  123.         if (节点集合 == '' || 节点集合 == null) {
  124.             return null;
  125.         }
  126.         
  127.         var 文本过滤 = 节点集合.text(关键词);
  128.         if (文本过滤 != '' && 文本过滤 != null && 文本过滤.count() > 0) {
  129.             return 文本过滤.getNode(0);
  130.         }
  131.         
  132.         var 包含过滤 = 节点集合.textIncludes(关键词);
  133.         if (包含过滤 != '' && 包含过滤 != null && 包含过滤.count() > 0) {
  134.             return 包含过滤.getNode(0);
  135.         }
  136.     } catch (e) {
  137.         print.log("  ⚠ 查找节点出错:" + e.message);
  138.     }
  139.     return null;
  140. }



  141. function 卸载应用(pkg, 应用名称) {
  142.     print.log("&#128260; 正在卸载:" + 应用名称 + " (" + pkg + ")");
  143.    
  144.     try {
  145.         app.openAppSeting(pkg);
  146.         sleep.second(3);
  147.         auto.refresh();
  148.         
  149.         var 卸载文字节点 = 查找文字节点("卸载");
  150.         if (!卸载文字节点) {
  151.             print.log("⚠ 未找到卸载按钮,可能是系统应用:" + 应用名称);
  152.             auto.home();
  153.             sleep.second(1);
  154.             return false;
  155.         }
  156.         
  157.         var 卸载中心 = 卸载文字节点.getCenter();
  158.         var 卸载X = 卸载中心.x();
  159.         var 卸载Y = 卸载中心.y();
  160.         print.log("✓ 找到卸载按钮,坐标:" + 卸载X + ", " + 卸载Y);
  161.         
  162.         auto.clickPoint(卸载X, 卸载Y);
  163.         sleep.second(2);
  164.         auto.refresh();
  165.         
  166.         var 确定文字节点 = 查找文字节点("确定");
  167.         if (!确定文字节点) {
  168.             确定文字节点 = 查找文字节点("卸载");
  169.         }
  170.         
  171.         if (确定文字节点) {
  172.             var 确定中心 = 确定文字节点.getCenter();
  173.             var 确定X = 确定中心.x();
  174.             var 确定Y = 确定中心.y();
  175.             print.log("✓ 找到确认按钮,坐标:" + 确定X + ", " + 确定Y);
  176.             
  177.             auto.clickPoint(确定X, 确定Y);
  178.             print.log("✓ 点击确认卸载");
  179.             sleep.second(3);
  180.             print.log("✓ 卸载成功:" + 应用名称);
  181.             return true;
  182.         } else {
  183.             print.log("⚠ 未找到确认按钮");
  184.             auto.home();
  185.             sleep.second(1);
  186.             return false;
  187.         }
  188.         
  189.     } catch (e) {
  190.         print.log("✗ 卸载异常:" + 应用名称 + ",错误:" + e.message);
  191.         auto.home();
  192.         sleep.second(1);
  193.         return false;
  194.     }
  195. }

  196. print.log("\n--- 步骤1:获取已安装应用列表 ---");
  197. var 应用列表 = 获取已安装应用列表();

  198. if (应用列表.length === 0) {
  199.     print.log("✓ 未找到可卸载的应用,结束卸载");
  200.     print.log("\n===== 一键删除所有应用示例结束 =====");
  201. } else {
  202.     print.log("\n--- 步骤2:开始批量卸载 ---");
  203.     var 成功数 = 0;
  204.     var 失败数 = 0;
  205.     var 已卸载列表 = [];
  206.     var 未卸载列表 = [];
  207.    
  208.     for (var i = 0; i < 应用列表.length; i++) {
  209.         var 应用 = 应用列表[i];
  210.         
  211.         print.log("\n&#128203; 处理应用:" + (i + 1) + "/" + 应用列表.length);
  212.         print.log("   名称:" + 应用.name);
  213.         print.log("   包名:" + 应用.packageName);
  214.         
  215.         var success = 卸载应用(应用.packageName, 应用.name);
  216.         if (success) {
  217.             成功数++;
  218.             已卸载列表.push(应用.name + " (" + 应用.packageName + ")");
  219.         } else {
  220.             失败数++;
  221.             未卸载列表.push(应用.name + " (" + 应用.packageName + ")");
  222.         }
  223.         
  224.         sleep.second(1);
  225.     }
  226.    
  227.     print.log("\n--- 步骤3:卸载结果统计 ---");
  228.     print.log("&#128202; 卸载统计:");
  229.     print.log("  ✅ 成功:" + 成功数 + " 个");
  230.     print.log("  ❌ 失败:" + 失败数 + " 个");
  231.    
  232.     if (已卸载列表.length > 0) {
  233.         print.log("\n✅ 成功卸载的应用:");
  234.         for (var i = 0; i < 已卸载列表.length; i++) {
  235.             print.log("  " + (i + 1) + ". " + 已卸载列表[i]);
  236.         }
  237.     }
  238.    
  239.     if (未卸载列表.length > 0) {
  240.         print.log("\n❌ 未卸载成功的应用:");
  241.         for (var i = 0; i < 未卸载列表.length; i++) {
  242.             print.log("  " + (i + 1) + ". " + 未卸载列表[i]);
  243.         }
  244.         print.log("\n⚠ 提示:失败的应用可能是系统应用或需要特殊权限才能卸载");
  245.     }
  246.    
  247.     print.log("\n===== 一键删除所有应用示例结束 =====");
  248. }
复制代码



untoAIWROK软件无碍模式auto模块抖音极速版滑动刷视频nextnocontent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖