1. 程式人生 > >自動搜尋私密資訊與徹底刪除APP--(一)清理

自動搜尋私密資訊與徹底刪除APP--(一)清理

清理隱私資訊,就要先搞清楚哪些可以當作隱私資訊,位置在哪,需要取得什麼許可權才可以讀寫刪除這些資訊。許可權在root那一篇介紹。
下面是android檔案系統目錄:
system:系統目錄,放置在android執行所需的核心類庫
data:應用目錄,放置執行在android上的應用及其資料
sdcard:擴充套件儲存卡目錄,用來存放共享的資料
mnt:記錄android掛載的外部儲存資訊
這樣看來,只有在data目錄下才有應用程式產生的資料,看一下data目錄
/data/app:應用安裝包
/data/data:存放執行資料
這樣就可以定位隱私資料繪存放在/data/data目錄下
1./data/data/ package_name /cache(應用快取)
2./mnt/sdcard/Android/ package_name /cache(外部應用快取,FROYO以後支援)
3./data/data/package_name/database/webview.db*(WebView快取)
4./data/data/package_name/database/webviewCache.db*(WebView快取)
5.其他一些/data/data/ package_name /*cache目錄(應用快取)
6./data/data/package_name/files(比較嚴格的清理策略時也可以選擇清理)

均用到反射這方面的知識,Android系統API把這些方法隱藏了。需要root許可權:

Class c1 = Class.forName("android.content.pm.IPackageDataObserver");
Method method = pm.getClass().getMethod("deleteApplicationCacheFiles", String.class,IPackageDataObserver.class);
method.invoke(pm, packageName,new IPackageDataObserver.Stub(){
@Override
public void onRemoveCompleted(String packageName, boolean succeeded) throws RemoteException { // TODO Auto-generated method stub } }); <uses-permission android:name="android.permission.DELETE_CACHE_FILES" />

不需要root許可權,一鍵清理;