1

すべてのアプリのキャッシュディレクトリのパスとサイズを一覧表示するAndroidアプリに取り組んでいます。私はすでに少しのコードを書きましたが、今はクラッシュし、何が悪いのかわかりません。

Context context = createPackageContext(p.applicationInfo.packageName, Context.CONTEXT_INCLUDE_CODE);
items.add(p.applicationInfo.loadLabel(getPackageManager()).toString() + ": " + context.getCacheDir().getName());

pはファイルのPackageInfoであり、itemsはArrayListです。NullPointerExceptionが原因でクラッシュが発生します。誰かが私を助けてくれることを願っています!

編集:これがLogCatです:

12-15 02:34:14.507: W/dalvikvm(10789): threadid=1: thread exiting with uncaught exception (group=0x40e34300)
12-15 02:34:14.511: E/AndroidRuntime(10789): FATAL EXCEPTION: main
12-15 02:34:14.511: E/AndroidRuntime(10789): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.alexnavratil.test/com.alexnavratil.test.MainActivity}: java.lang.SecurityException: Requesting code from app.test.com (with uid 10075) to be run in process com.alexnavratil.test (with uid 10104)

これで十分だと思います。完全なLogCatは非常に長いです。

4

1 に答える 1

0

通常、他のアプリ データ ディレクトリは、Android オペレーティング システムによって保護されています。ルート化されていないAndroidアプリが他のアプリのアプリキャッシュを読み取ることが許可されている場合、私は確信が持てません。

アプリのキャッシュをクリアするには、CLEAR_APP_CACHEおよびDELETE_CACHE_FILESというマニフェスト アクセス許可があります。

于 2012-12-15T01:20:32.197 に答える