Android中的清除数据和清除缓存有什么区别,它们分别清除了哪些文件

news/2024/11/27 4:39:31/

清除数据和清除缓存的区别

反射调用系统隐藏接口,需要准备的东西:

一、在AndroidManifest.xml中的manifest标签下添加声明

android:sharedUserId="android.uid.system"

二、添加如下权限

 <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/><uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/><uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"/><uses-permission android:name="android.permission.CLEAR_APP_CACHE" />

三、使用系统签名给app进行签名

找到platform.pk8和platform.x509.pem和apksigner.jar三个文件,网上搜索制作系统签名文件的命令

最终生成plateform.keystore签名文件(附上某网盘制作好的系统签名,链接: https://pan.baidu.com/s/11dir8rTC_GxSGuG5El0nMg 提取码: ed33 )

四、创建 android.content.pm.IPackageDataObserver的aidl接口

// IPackageDataObserver.aidl
package android.content.pm;interface IPackageDataObserver {
void onRemoveCompleted(in String packageName, boolean succeeded);
}

五、实现aidl接口回调监听

经过验证总结,得出如下结论:

1、清除缓存

反射调用接口:PackageManager.deleteApplicationCacheFiles

它会清除以下项目:

A)清除data/data/{package_name}/cache/下的所有文件

B)清除data/data/{package_name}/code_cache/下的所有文件

C)清除mnt/sdcard/Android/data/{package_name}/下的cache文件夹

2、清除数据:

反射调用接口:ActivityManager.clearApplicationUserData

它会清除以下项目:

A)清除data/data/{package_name}/下的所有文件和文件夹(包括lib文件夹,PS:网上有人说lib文件夹和里面的内容不会被清除,经过验证,实际上也会清除)

B)清除mnt/sdcard/Android/data/下当前包名的文件夹

C)清除mnt/sdcard/Android/media/下当前包名的文件夹

D)清除{package_name}对应的app所有运行时权限的授权

E)清除所有通知,和该应用相关的所有URI授权(此项目为接口描述内容,未实际验证)

#但不会清除mnt/sdcard/Android/obb/{package_name}/下的内容

3、清除所有:

反射调用接口:PackageManager.freeStorageAndNotify

回调清除失败,不能清除任何数据。

附:

/mnt/sdcard/ = /storage/emulated/0/

/data/data/ = /data/user/0/

接口返回的目录具体地址:

getCacheDir=/data/user/0/{package_name}/cache

getFilesDir=/data/user/0/{package_name}/files

getDataDir=/data/user/0/{package_name}

getCodeCacheDir=/data/user/0/{package_name}/code_cache

getDir(“abcd”)=/data/user/0/{package_name}/app_abcd

getObbDir=/storage/emulated/0/Android/obb/{package_name}

getExternalCacheDir=/storage/emulated/0/Android/data/{package_name}/cache

getExternalFilesDir(“acbd”)=/storage/emulated/0/Android/data/{package_name}/files/abcd

getExternalMediaDirs[0]=/storage/emulated/0/Android/media/{package_name}

 


http://www.ppmy.cn/news/453435.html

相关文章

使用adb命令删除Android系统data目录下的文件及文件夹

使用命令删除data目录下的文件夹&#xff0c;和删除一般文件不同&#xff0c; data目录下的文件需要777权限&#xff0c;所以需要的命令不同。 data目录&#xff1a; C:\Users\aw>adb shell rootandroid:/ # su su rootandroid:/ # cd data/data cd data/data rootandroid…

使用adb命令删除Android系统data目录下文件及文件夹

使用命令删除data目录下的文件夹&#xff0c;和删除一般文件不同。 data目录下的文件需要777权限&#xff0c;所以需要的命令不同 data目录&#xff1a; C:\Users\aw>adb shell rootandroid:/ # su su rootandroid:/ # cd data/data cd data/data rootandroid:/data/data…

adb清除缓存数据

ADB Shell 应用 查看目录结构 &#xff1a;adb shell ls 查看系统当前日期 &#xff1a;adb shell date 查看系统 CPU 使用情况 &#xff1a;adb shell cat /proc/cpuinfo 查看系统内存使用情况 &#xff1a;adb shell cat /proc/meminfo 显示所有应用 &#xff1a;adb shell p…

文件管理Android可以删,文件管理里的Android系统文件可以删吗

Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\runas] "获取系统权限" "NoWorkingDirectory""" [HKEY_CLASSES_ROOT\*\shell\runas\command] "cmd.exe /c takeown /f \"%1\" && icacls \"%1\&q…

Android系统tencent文件夹下哪些文件可以删除

手机越用内存越少&#xff0c;特别是安卓手机。当安装了qq、微信、qq空间&#xff0c;太多垃圾文件占用内存&#xff0c;请问哪些可以删除呢&#xff1f;又如何删除&#xff1f; 1.微信自带清理功能。 点开微信--我--设置-通用-清理微信存储空间。右上角有个3个点的按钮可以清理…

php优化 之opcache开启和关闭

查看opcache状态 php -i |grep opcache // 结果如下&#xff0c;可以看出opcache.enable > On&#xff0c;处于开启状态 Configure Command > ‘./configure’ ‘–prefix/usr/local/php-fpm’ ‘–with-config-file-path/usr/local/php-fpm/etc’ ‘–with-config-fil…

WIN10的传递优化文件是个什么鬼?能删除吗?

Win10正式版系统使用时间长了以后,电脑磁盘总会产生一些冗余的文件和磁盘碎片,我们可以用一些工具软件对硬盘进行优化和处理,其实利用系统自带的工具也可以清理磁盘的,但在操作过程中,我们常常会看到一个名叫“传递优化文件”的选项,而且多数情况下它的体积还不少!到底这…

解决打开文件、文件夹、拖拽复制删除时鼠标卡顿

1.问题描述 打开文件、文件夹、拖拽文件复制删除时&#xff0c;鼠标总会卡一两秒&#xff0c;在需要处理大量文件时非常影响工作。 2.解决过程 通过任务管理器发现windows资源管理器在进行上述操作时cpu占用会迅速拉高&#xff0c;同时鼠标卡顿产生。 进一步测试发现使用笔…