0

GooglePlayのアプリのエラーレポートを受け取っています。問題は、非常に難読化されており、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ではありません。それがどこでクラッシュしているのかについて何かアイデアはありますか?

私のテストでは、このメソッドはクラッシュしません

ありがとう

4

1 に答える 1

0

あなたの方法に基づいて、私は次の結果をチェックします:

 ctx.getApplicationInfo() // and .packageName

 Environment.getExternalStorageDirectory() // and .getAbsolutePath()

私の観点からは、この2つのポイントだけでNPEがスローされる可能性があります。たぶん、あなたはいくつかのログアウトを印刷することをすることができます。

于 2012-07-22T08:37:10.563 に答える