Android使用代码消除App数据并重新启动设备

本文介绍了一种通过代码清除App数据的高效方法,包括注意事项和代码实现。特别指出,为了避免重新启动设备,建议在清理数据时不删除lib目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	/**
	 * 使用代码消除App数据
	 * 我们不寻常的清除App数据,中找到相应的App
	 * 然后选择其清除数据.以下给出代码实现.
	 * 
	 * 注意事项:
	 * 1 设备须要root
	 * 2 该演示样例中删除的是系统级应用
	 * 2 注意在命令的末尾须要加上换行\n
	 *   这就相当于我们平时在Dos中输入命令后再换行一样.
	 *   否则命令不会被运行.
	 */
	private void cleanData(String packageName){
		try {
			System.out.println("---> 9527 開始清除 "+packageName);
			Process su= Runtime.getRuntime().exec("su");
			String cmd ="rm -r "+"/data/data/"+packageName;
			cmd = cmd + "\n exit\n";
			//以下两句代表重新启动设备
			//String cmd ="reboot";
			//cmd = cmd + "\n exit\n";
			su.getOutputStream().write(cmd.getBytes());
			if ((su.waitFor() != 0)) {
				throw new SecurityException();
			}
		} catch (Exception e) {
			System.out.println("---> 9527 清除数据时 e="+e.toString());
		}
		
	}


下面代码更新于:2014年8月10日00:15:36

/**
	 * 利用代码清除App的数据
	 * 寻常我们在清除App的数据时,多半在设置中找到相应的App
	 * 然后选择其清除数据.以下给出代码实现.
	 * 
	 * 在上面的一段代码中把data/data/packageName下的东西所有删除了.
	 * 所以须要重新启动设备,由于它的lib都被删除了.
	 * 在设备重新启动后,会自己主动生成新的lib该系统应用才干够正常执行.
	 * 
	 * 为了避免重新启动设备,在清理数据时应该不删除lib目录,代码例如以下.
	 * 
	 * 
	 * 注意事项:
	 * 1 设备须要root
	 * 2 该演示样例中删除的是系统级应用
	 * 2 注意在命令的末尾须要加上换行\n
	 *   这就相当于我们平时在Dos中输入命令后再换行一样.
	 *   否则命令不会被执行.
	 */
	private void cleanData(String packageName){
		try {
			Process su= Runtime.getRuntime().exec("su");
			String cmd = "cd /data/data/"+packageName+";"+"rm -r `ls|grep -v lib`";
			System.out.println("------cmd="+cmd);
			cmd = cmd + "\n exit\n";
			su.getOutputStream().write(cmd.getBytes());
			if ((su.waitFor() != 0)) {
				throw new SecurityException();
			}
		} catch (Exception e) {
			System.out.println("---> 9527 清除数据时 e="+e.toString());
		}
		
	}


版权声明:本文博主原创文章,博客,未经同意不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值