我收到了Google Play中应用的错误报告。问题是它非常模糊 由于proguard配置,我无法从堆栈跟踪中检索到大量信息:
应用崩溃的方法是:
private File getExternalStorageAppRoot(Context ctx) {
String basePath="cache";
if (Build.VERSION.SDK_INT >= 8) {
File extFile = ctx.getExternalFilesDir(basePath);
if (extFile != null) {
return extFile;
}
}
String externalFilesDir = Environment.getExternalStorageDirectory().getAbsolutePath()
+ File.separator + "Android" + File.separator + "data" + File.separator
+ ctx.getApplicationInfo().packageName + File.separator + "files";
return new File(externalFilesDir, basePath);
}
异常是NullPointerException,ctx始终不为null。关于它崩溃的地方的任何想法?
在我的测试中,此方法不会崩溃
由于
答案 0 :(得分:0)
根据您的方法,我会检查结果:
ctx.getApplicationInfo() // and .packageName
和
Environment.getExternalStorageDirectory() // and .getAbsolutePath()
从我的观点来看,这两点可能会引发NPE。也许你可以打印一些注销。