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

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

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

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

Android使用代码消除App数据并重新启动设备的更多相关文章

  1. android软件简约记账app开发day04-记账页面条目的代码书写

    android软件简约记账app开发day04-记账页面条目的代码书写 在前三天我们完成了基本的界面展示,从今天开始,我们进入到后台逻辑代码的编写中,今天开发记账条目的代码 我们在主页面点击记一笔图标 ...

  2. Android系统的五种数据存储形式(二)

    之前介绍了Android系统下三种数据存储形式,今天补充介绍另外两种,分别是内容提供者和网络存储.有些人可能认为内存提供者和网络存储更偏向于对数据的操作而不是数据的存储,但这两种方式确实与数据有关,所 ...

  3. Android 采用post方式提交数据到服务器

    接着上篇<Android 采用get方式提交数据到服务器>,本文来实现采用post方式提交数据到服务器 首先对比一下get方式和post方式: 修改布局: <LinearLayout ...

  4. Android实用代码七段(五)

      前言  每次分享意味着每次都有进步,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯 ...

  5. Android中突发情况Activity数据的保存和恢复

    Android中突发情况Activity数据的保存和恢复 写在前面:在我们的APP使用的过程中,总有可能出现各种手滑.被压在后台.甚至突然被杀死的情况.所以对APP中一些临时数据或关键持久型数据,就需 ...

  6. 实现android上解析Json格式数据功能

    实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...

  7. Android学习系列(15)--App列表之游标ListView(索引ListView)

    游标ListView,提供索引标签,使用户能够快速定位列表项.      也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧.      一看图啥都懂了: 1. ...

  8. Android 常用代码大集合 [转]

    [Android]调用字符串资源的几种方法   字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...

  9. Android开发周报:Android L默认加密用户数据

    Android开发周报:Android L默认加密用户数据 新闻 <iCloud前车之鉴,Android L默认开启加密功能>:iCloud 艳照风波再起,第二波女星照片流出,大量女星的裸 ...

随机推荐

  1. javascript面向对象之闭包

    javascript面向对象之闭包 学习javascript一段时间了,自己对闭包作出如下总结,如有某点不妥,请君指出,不胜感激! 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量 ...

  2. Spring整合JMS-基于activeMQ实现(二)

    Spring整合JMS-基于activeMQ实现(二) 1.消息监听器      在Spring整合JMS的应用中我们在定义消息监听器的时候一共能够定义三种类型的消息监听器,各自是MessageLis ...

  3. Ext4功能和文件系统的简单功能

    Linux kernel 自 2.6.28 開始正式支持新的文件系统 Ext4. Ext4 是 Ext3 的改进版,改动了 Ext3 中部分重要的数据结构,而不只像 Ext3 对 Ext2 那样,不过 ...

  4. 【原创】leetCodeOj --- Sliding Window Maximum 解题报告

    天,这题我已经没有底气高呼“水”了... 题目的地址: https://leetcode.com/problems/sliding-window-maximum/ 题目内容: Given an arr ...

  5. FusionCharts简单教程---建立第一个FusionCharts图形

    由于项目需求需要做一个报表,选择FusionCharts作为工具使用.由于以前没有接触过报表,网上也没有比较详细的fusionCharts教程,所以决定好好研究FusionCharts,同时做一个比较 ...

  6. poj 2586 Y2K Accounting Bug (贪心)

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8678   Accepted: 428 ...

  7. DIY.NETORM帧——技术储备(1)Attribute

    1.他是什么 ? 首先.我们当然Attribute它是一类,以下是一msdn文档对它的描写叙述:          公共语言执行时同意你加入类似keyword的描写叙述声明,叫做attributes, ...

  8. 玩转Web之servlet(四)---B/S是如何使用http协议完成通信过程的

    在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和服务器之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是如何利用http协议去完成通信的. (一)通讯过程 1:浏 ...

  9. UVA 10163 Storage Keepers(两次DP)

    UVA 10163 Storage Keepers(两次DP) http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Ite ...

  10. 谷歌技术面试要点(Google面试)(14年5月20日交大专场)

    技术面试的主题 1.简要自我介绍: 姓名.学校.专业 做过的项目与实习 个人主要成就 2.技术评估: 构建与开发算法 编程 计算机基础知识 数据结构 现实世界问题解决能力 设计问题(主要针对博士生) ...