私の Android アプリは、Samsung SPen SDK 2.2 を使用しています。50 人以上のユーザーがいて、3 か月以上クラッシュ レポートを受け取っていませんでしたが、今日、Google Play デベロッパー コンソールで 1 つ受け取りました。これは Samsung Galaxy Note 3 (Android 4.3) から発生しましたが、同じデバイスを使用している他の多くのユーザーがこの問題を経験したことがありません。
墜落の原因は何か、何か心当たりはありますか? テストデバイスで再現する方法さえわかりません。
アプリのコードは SD カードでは機能しません (
Environment.getExternalStorageDirectory();
、/mnt/sdcard へのパスがハードコードされていないなど)、WRITE_EXTERNAL_STORAGE 権限がありません。また、SDカードへのアプリのインストール・移動はできません。
クラッシュ レポートには、次のスタック トレースが含まれています。
java.lang.IllegalArgumentException: Invalid path: /mnt/sdcard
at android.os.StatFs.doStat(StatFs.java:46)
at android.os.StatFs.<init>(StatFs.java:39)
at com.samsung.sdraw.CanvasView.onDetachedFromWindow(Unknown Source)
at android.view.View.dispatchDetachedFromWindow(View.java:13064)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2798)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2798)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2798)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2798)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2798)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2798)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2798)
at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3368)
at android.view.ViewRootImpl.doDie(ViewRootImpl.java:5959)
at android.view.ViewRootImpl.die(ViewRootImpl.java:5942)
at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:378)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:328)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:88)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3667)
at android.app.ActivityThread.access$1300(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1369)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5414)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
at dalvik.system.NativeStart.main(Native Method)
Caused by: libcore.io.ErrnoException: statfs failed: EACCES (Permission denied)
at libcore.io.Posix.statfs(Native Method)
at libcore.io.ForwardingOs.statfs(ForwardingOs.java:131)
at android.os.StatFs.doStat(StatFs.java:44)
... 27 more