lib目录下存储so库文件,不能清除,需清除其他目录下的文件;
/** * 清除APP数据 */ private void clearData() { // final String path = "/data/data/" + getPackageName().toString(); final String path = getFilesDir().getParent(); //清空配置文件目录shared_prefs; File file_xml = new File(path + "/shared_prefs"); if (file_xml.exists()) { File[] files = file_xml.listFiles(); for (int i = 0; i < files.length; i++) { files[i].delete(); } } //清空缓存目录; File file_cache = getCacheDir(); if (file_cache.exists()) { File[] files = file_cache.listFiles(); for (int i = 0; i < files.length; i++) { files[i].delete(); } } //清空file目录; File file_file = new File(path + "/files");; if (file_file.exists()) { File[] files = file_file.listFiles(); for (int i = 0; i < files.length; i++) { files[i].delete(); } } //清空数据库目录; File file_db = new File(path + "/databases"); if (file_db.exists()) { File[] files = file_db.listFiles(); for (int i = 0; i < files.length; i++) { files[i].delete(); } } //这里可以重启你的应用程序,我的app中有service,所以我只要杀死进程就自动重启了。 android.os.Process.killProcess(android.os.Process.myPid()); }
注意:上述方法要配合自己的其他代码进行,不然可能会出现因文件删除而找不到文件的错误;