Auto.js 脚本:清理手机数据但保留账号

Auto.js 脚本:清理手机数据但保留账号

以下是一个使用 Auto.js 实现的脚本,它可以帮你清理手机数据(类似恢复出厂设置),同时尽可能保留已登录的账号状态。请注意,这个脚本不能完全等同于真正的恢复出厂设置,但可以实现类似效果。

// 脚本功能:清理手机数据但保留账号状态
// 需要 Auto.js 4.1.1 以上版本
// 需要 root 权限或无障碍权限// 配置区域 ==================================
var config = {keepAccounts: true,      // 是否保留账号clearAppData: true,      // 是否清除应用数据clearCache: true,        // 是否清除缓存whitelist: [             // 不想清理的应用包名列表"com.tencent.mm",    // 微信"com.tencent.mobileqq", // QQ"com.google.android.gms", // Google服务"com.android.vending",   // Google Play商店// 添加其他你想保留的应用]
};
// ==========================================// 主函数
function main() {// 请求必要的权限requestPermissions();// 显示警告信息alert("警告", "此脚本将清理手机数据,请确保重要数据已备份!", function(){// 开始执行清理startCleaning();});
}// 请求权限
function requestPermissions() {// 请求root权限if (!requestRoot()) {toast("未获取root权限,部分功能可能无法使用");}// 请求无障碍服务auto.waitFor();
}// 开始清理流程
function startCleaning() {// 显示进度对话框let progressDialog = dialogs.build({title: "正在清理",progress: {max: 100,showMinMax: true},cancelable: false}).show();// 步骤1: 清理应用缓存 (10%)if (config.clearCache) {progressDialog.setProgress(10);progressDialog.setMessage("正在清理应用缓存...");clearAllAppCache();}// 步骤2: 清理应用数据 (40%)if (config.clearAppData) {progressDialog.setProgress(40);progressDialog.setMessage("正在清理应用数据...");clearAppData();}// 步骤3: 清理系统缓存 (70%)progressDialog.setProgress(70);progressDialog.setMessage("正在清理系统缓存...");clearSystemCache();// 步骤4: 保留账号数据 (90%)if (config.keepAccounts) {progressDialog.setProgress(90);progressDialog.setMessage("正在保留账号数据...");backupAccounts();}// 完成 (100%)progressDialog.setProgress(100);progressDialog.setMessage("清理完成!");sleep(1000);progressDialog.dismiss();toast("清理完成!");
}// 清理所有应用缓存
function clearAllAppCache() {let pm = context.getPackageManager();let apps = pm.getInstalledApplications(0);apps.forEach(app => {if (!config.whitelist.includes(app.packageName)) {try {let cmd = "pm clear " + app.packageName;shell(cmd, true);} catch (e) {console.log("清理缓存失败: " + app.packageName);}}});
}// 清理应用数据
function clearAppData() {let pm = context.getPackageManager();let apps = pm.getInstalledApplications(0);apps.forEach(app => {if (!config.whitelist.includes(app.packageName)) {try {// 删除应用数据目录let dataDir = "/data/data/" + app.packageName;if (files.exists(dataDir)) {shell("rm -rf " + dataDir, true);}// 删除外部存储数据let extDir = "/sdcard/Android/data/" + app.packageName;if (files.exists(extDir)) {shell("rm -rf " + extDir, true);}} catch (e) {console.log("清理数据失败: " + app.packageName);}}});
}// 清理系统缓存
function clearSystemCache() {try {// 清理dalvik缓存shell("rm -rf /data/dalvik-cache", true);// 清理临时文件shell("rm -rf /data/local/tmp/*", true);shell("rm -rf /cache/*", true);// 清理日志shell("rm -rf /data/log/*", true);shell("rm -rf /data/tombstones/*", true);} catch (e) {console.log("清理系统缓存失败: " + e);}
}// 备份账号数据
function backupAccounts() {try {// 备份账号数据库 (需要root)let accountDb = "/data/system/users/0/accounts.db";let backupDir = "/sdcard/account_backup/";if (files.exists(accountDb)) {if (!files.exists(backupDir)) {files.createWithDirs(backupDir);}shell("cp " + accountDb + " " + backupDir + "accounts.db", true);}} catch (e) {console.log("备份账号数据失败: " + e);}
}// 运行主函数
main();

使用说明

  1. 准备工作:

    • 安装 Auto.js 应用 (建议4.1.1以上版本)
    • 确保手机已root (部分功能需要root权限)
    • 备份重要数据
  2. 配置脚本:

    • 修改 config 部分,设置你想保留的应用包名
    • 设置是否保留账号、清除应用数据等选项
  3. 运行脚本:

    • 将脚本导入Auto.js并运行
    • 授予必要的权限
    • 脚本会逐步清理手机数据

注意事项

  1. 此脚本不能完全等同于恢复出厂设置,但可以达到类似效果
  2. 部分账号可能仍需要重新登录,取决于应用的账号管理机制
  3. 建议在执行前手动备份重要数据
  4. 某些系统可能需要调整文件路径
  5. 首次运行建议先在测试设备上尝试

高级选项

如果你需要更彻底的清理,可以添加以下功能:

  • 清理媒体存储数据库
  • 重置系统设置
  • 清理更多系统目录

但请注意,这些操作可能有风险,建议在充分了解后果后再实施。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 热题 100 279. 完全平方数

LeetCode 热题 100 | 279. 完全平方数 大家好,今天我们来解决一道经典的动态规划问题——完全平方数。这道题在 LeetCode 上被标记为中等难度,要求找到和为给定整数 n 的完全平方数的最少数量。 问题描述 给定一个整数 n,返回和为 n 的完全…

【coze】手册小助手(提示词、知识库、交互、发布)

【coze】手册小助手(提示词、知识库、交互、发布) 1、创建智能体2、添加提示词3、创建知识库4、测试智能体5、添加交互功能6、发布智能体 1、创建智能体 2、添加提示词 # 角色 你是帮助用户搜索手册资料的AI助手 ## 工作流程 ### 步骤一:查询知识库 1.每…

一个基于Asp.Net Core + Angular + Bootstrap开源CMS系统

从零学习构建一个完整的系统 推荐一个功能强大、易于扩展、安全可靠的开源内容管理系统,适用于各种类型和规模的网站。 项目简介 MixCoreCMS是一个基于.NET Core框架的开源内容管理系统(CMS),提供了丰富的的基础功能和插件&…

【Python】常用命令提示符

Python常用的命令提示符 一、Python环境基础命令【Windows】 于Windows环境下,针对Python,在CMD(命令提示符)常用的命令以及具体用法,怎么用;   主要包含:运行脚本、包管理、虚拟环境、调试与…

提示词优化:检索历史提示确定方向→生成候选提示并控制修改幅度→基于准确率迭代优化

提示词优化器 Unleashing the Potential of Large Language Models as Prompt Optimizers: Analogical Analysis with Gradient - based Model Optimizers 《Unleashing the Potential of Large Language Models as Prompt Optimizers: Analogical Analysis with Gradient - …

如何设计一个网页计算器?—— 从需求分析到测试的全流程

1. 需求分析与功能设计 核心功能 基础运算:+ - * / 高级运算:% (取模)、^ (幂运算)、√ (开平方) 记忆功能:M+ (累加)、M- (累减)、MR (读取)、MC (清除) 交互优化: 支持键盘输入(0-9、Enter、Backspace) 实时计算(类似 Google 计算器,输入 2+3= 自动显示 5) 错误处理…

基于RT-Thread的STM32F4开发第二讲第一篇——ADC

文章目录 前言一、RT-Thread工程创建二、ADC工程创建三、ADC功能实现1.ADC.c2.ADC.h3.mian.c 四、效果展示和工程分享总结 前言 ADC是什么不多讲了,前面裸机操作部分有很多讲述。我要说的是RT-Thread对STM32的ADC外设的适配极其不好,特别是STM32G4系类&…

FoMo 数据集是一个专注于机器人在季节性积雪变化环境中的导航数据集,记录了不同季节(无雪、浅雪、深雪)下的传感器数据和轨迹信息。

2025-05-02,由加拿大拉瓦尔大学北方机器人实验室和多伦多大学机器人研究所联合创建的 FoMo 数据集,目的是研究机器人在季节性积雪变化环境中的导航能力。该数据集的意义在于填补了机器人在极端季节变化(如积雪深度变化)下的导航研…

vue3+ts继续学习

我们再写点东西,这里面都是vue2的语法,应该都能看明白!我们写完直接去运行一下代码! 发现什么都没有发生!为什么呢?因为我们在App.vue中没有引入!哈哈哈哈!这样就好了!注…

LIO-Livox

用单台Livox Horizon (含内置IMU) 实现高鲁棒性的激光-惯性里程计,可在各类极端场景下鲁棒运行,并达到高精度的定位和建图效果。(城区拥堵、高速公路、幽暗隧道) 注:该系统主要面向大型室外环境中的汽车平台设计。用户可以使用 Livox Horizo…

day18-API(常见API,对象克隆)

课程目标 能够熟练使用Math类中的常见方法 能够熟练使用System类中的常见方法 能够理解Object类的常见方法作用 能够熟练使用Objects类的常见方法 能够熟练使用BigInteger类的常见方法 能够熟练使用BigDecimal类的常见方法 1 Math类 1.1 概述 tips:了解内容…

用OMS从MySQL迁移到OceanBase,字符集utf8与utf8mb4的差异

一、问题背景 在一次从MySQL数据库迁移到OceanBase的MySQL租户过程中,出现了一个转换提示: [WARN][CONVER] he table charset:utf8->utf8mb4, 你可能会担心这种转换可能导致字符集不兼容的问题。但通过查阅相关资料可知,utf8m…

MATLAB中tabulate函数——先验概率的简单估计

load fisheriris X meas(:,1:2); Y species; labels unique(Y); tabulate(Y)ValueCountPercentsetosa5033.33%versicolor5033.33%virginica5033.33%

《Python星球日记》第28天:数据获取与可视化(综合项目)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、项目概述二、数据获取1. 准备工作2. 使用 `requests` 获取网页内容3. 使用 `BeautifulSoup`…

基于深度学习的图像识别技术:从原理到应用

前言 在当今数字化时代,图像识别技术已经渗透到我们生活的方方面面,从智能手机的人脸解锁功能到自动驾驶汽车对交通标志的识别,再到医疗影像诊断中的病变检测,图像识别技术正以其强大的功能和广泛的应用前景,改变着我们…

限免开关实施版本保护措施,保证项目灰度发布安全

迭代用户限免权限校验业务 新增限免开关实现普通用户权益更新,实施版本保护措施,保证项目灰度发布安全; // 是否展示限免标识 func (t *BasePrivilegeService) IsPromotionFree(p consumParams) bool {// 限免开关isFreeUseOpen : p.cfg.Vip…

从 AWS Marketplace 开始使用 AssemblyAI 的语音转文本模型构建语音智能

语音智能和语音转文本 (STT) 技术已变得至关重要,因为组织每天收集数千小时的电话、会议和客户互动。仅靠原始音频并不能推动决策 - 组织需要智能来大规模地从语音数据中提取价值。语音智能结合了语音识别、自然语言处理 (NLP&…

Android组件化 -> Debug模式下,本地构建module模块的AAR和APK

本地构建module模块的AAR gradle.properties isCommonApp false模块的build.gradle apply plugin: com.android.library:module模块编译manifest.srcFile src/main/AndroidManifest.xml:读取没有启动App和Activity的配置文件 if (isCommonApp.toBoo…

FlexibleButton:一个轻巧灵活的按键处理库,让你的按键处理更简单

在嵌入式系统开发中,按键输入处理是一个常见且重要的环节。然而,许多开发者在处理按键时,往往会遇到按键消抖、组合按键、长按/短按等功能实现的复杂性。如何在保证系统高效运行的同时,简化按键事件的处理呢? 今天&…

探索程序员薪资背后的秘密与未来:智能化工具如何助力职场发展

最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 探索程序员薪资背后的秘密与未来:智能化工具如何助力职场发展 引言 在当今数字化时代,程序员作为科技发展的核心力量,其职业前景和薪资水平备受关注。随着人工智能和自…