1

我正在开发一个 Android 应用程序,其中列出了所有应用程序的缓存目录的路径和大小。我已经写了一些代码,但现在它崩溃了,我不知道出了什么问题。

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

p 是 File 的 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_CACHEDELETE_CACHE_FILES

于 2012-12-15T01:20:32.197 回答