zoukankan      html  css  js  c++  java
  • Android使用代码消除App数据并重新启动设备

    	/**
    	 * 使用代码消除App数据
    	 * 我们不寻常的清除App数据,中找到相应的App
    	 * 然后选择其清除数据.以下给出代码实现.
    	 * 
    	 * 注意事项:
    	 * 1 设备须要root
    	 * 2 该演示样例中删除的是系统级应用
    	 * 2 注意在命令的末尾须要加上换行
    
    	 *   这就相当于我们平时在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 + "
     exit
    ";
    			//以下两句代表重新启动设备
    			//String cmd ="reboot";
    			//cmd = cmd + "
     exit
    ";
    			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 注意在命令的末尾须要加上换行
    
    	 *   这就相当于我们平时在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 + "
     exit
    ";
    			su.getOutputStream().write(cmd.getBytes());
    			if ((su.waitFor() != 0)) {
    				throw new SecurityException();
    			}
    		} catch (Exception e) {
    			System.out.println("---> 9527 清除数据时 e="+e.toString());
    		}
    		
    	}


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

  • 相关阅读:
    JS/jquery实现鼠标控制页面元素显隐
    【干货】十分钟读懂浏览器渲染流程
    【干货分享】程序员常访问的国外技术交流网站汇总
    jquery源码分析(七)——事件模块 event(二)
    jquery源码分析(五)——Deferred 延迟对象
    对于BFC(block format context)理解
    前端开发神器之chrome 综述
    重新认识面向对象
    DOMContentLoaded 与onload区别以及使用
    HTML5本地存储——Web SQL Database与indexedDB
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4883628.html
Copyright © 2011-2022 走看看