小编Dan*_*nny的帖子

当父目录可写时,mkdirs对sd卡上的目录返回false

当我启动我的Android应用程序时,我需要在SD卡上创建一个目录,对于少数用户而言这是失败的,我无法弄清楚它的原因......

(我发现WRITE_EXTERNAL_STORAGE权限丢失导致类似的问题,它就在那里,它适用于几乎所有用户,所以我认为这不是原因)

我已经简化了以前的情况,以便更容易解释,如果创建一个directoy失败,我运行一个测试用例,我尝试在sdcard上创建一个.test目录:

new File(Environment.getExternalStorageDirectory(), ".test").mkdir() -> false
new File(Environment.getExternalStorageDirectory(), ".test").mkdirs() -> false
Run Code Online (Sandbox Code Playgroud)

相关目录的文件属性:

/sdcard/.test(exists = false canWrite = false canRead = false canExecute = err isDirectory = false isFile = false)

/ sdcard(exists = true canWrite = true canRead = true canExecute = err isDirectory = true isFile = false)

/(exists = true canWrite = false canRead = true canExecute = err isDirectory = true isFile = false)

getExternalStorageState =装

(canExecute返回错误,因为测试是在sdk <9上运行的)

建议和想法非常受欢迎......

android mkdir android-sdcard

19
推荐指数
3
解决办法
2万
查看次数

如何在Android中找出SIGSEGV的原因

我的Android应用程序崩溃的报告越来越多,崩溃发生在本机代码中,因此不会产生堆栈跟踪.我只有一个本机功能,这不是问题,因为它在启动过程中被调用一次,问题发生在2-3分钟后.

我从logcat获得了以下部分转储:

I/DEBUG   ( 8704): pid: 9028, tid: 9136  >>> xxxx <<<
I/DEBUG   ( 8704): at : (2012-10-30 21:10:42.000086303 UTC) 0
I/DEBUG   ( 8704): signal 11 (SIGSEGV), fault addr deadbaad
I/DEBUG   ( 8704):  r0 00000000  r1 afd14691  r2 00000027  r3 00000070
I/DEBUG   ( 8704):  r4 afd42328  r5 00000000  r6 00000000  r7 0000a000
I/DEBUG   ( 8704):  r8 00000000  r9 4a77b900  10 4a77b8d8  fp 00000046
I/DEBUG   ( 8704):  ip 00001750  sp 4a77b590  lr deadbaad  pc afd11ce4  cpsr 60000030
I/DEBUG   ( 8704):  d0 …
Run Code Online (Sandbox Code Playgroud)

android segmentation-fault

19
推荐指数
2
解决办法
3万
查看次数