我想在/data/data/目录下创建一个aaa文件,用adb push的命令可以push进去,
可是当我用代码实现的时候,执行到
new File("data/data/aaa").createNewFile();
的时候,就会出现
01-01 03:04:21.730: WARN/System.err(19592): java.io.IOException: Permission denied
01-01 03:04:21.730: WARN/System.err(19592): at java.io.File.createNewFileImpl(Native Method)
01-01 03:04:21.730: WARN/System.err(19592): at java.io.File.createNewFile(File.java:1160)
01-01 03:04:21.730: WARN/System.err(19592): at com.eric.ECompassCalibrator.createFile(ECompassCalibrator.java:256)
01-01 03:04:21.730: WARN/System.err(19592): at com.eric.ECompassCalibrator.onCreate(ECompassCalibrator.java:98)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-01 03:04:21.730: WARN/System.err(19592): at android.os.Handler.dispatchMessage(Handler.java:99)
01-01 03:04:21.730: WARN/System.err(19592): at android.os.Looper.loop(Looper.java:123)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.main(ActivityThread.java:4627)
01-01 03:04:21.734: WARN/System.err(19592): at java.lang.reflect.Method.invokeNative(Native Method)
01-01 03:04:21.734: WARN/System.err(19592): at java.lang.reflect.Method.invoke(Method.java:521)
01-01 03:04:21.734: WARN/System.err(19592): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-01 03:04:21.734: WARN/System.err(19592): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-01 03:04:21.734: WARN/System.err(19592): at dalvik.system.NativeStart.main(Native Method)是不是我有什么权限没有加啊?小弟在此请教各位高手了!谢谢!
可是当我用代码实现的时候,执行到
new File("data/data/aaa").createNewFile();
的时候,就会出现
01-01 03:04:21.730: WARN/System.err(19592): java.io.IOException: Permission denied
01-01 03:04:21.730: WARN/System.err(19592): at java.io.File.createNewFileImpl(Native Method)
01-01 03:04:21.730: WARN/System.err(19592): at java.io.File.createNewFile(File.java:1160)
01-01 03:04:21.730: WARN/System.err(19592): at com.eric.ECompassCalibrator.createFile(ECompassCalibrator.java:256)
01-01 03:04:21.730: WARN/System.err(19592): at com.eric.ECompassCalibrator.onCreate(ECompassCalibrator.java:98)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-01 03:04:21.730: WARN/System.err(19592): at android.os.Handler.dispatchMessage(Handler.java:99)
01-01 03:04:21.730: WARN/System.err(19592): at android.os.Looper.loop(Looper.java:123)
01-01 03:04:21.730: WARN/System.err(19592): at android.app.ActivityThread.main(ActivityThread.java:4627)
01-01 03:04:21.734: WARN/System.err(19592): at java.lang.reflect.Method.invokeNative(Native Method)
01-01 03:04:21.734: WARN/System.err(19592): at java.lang.reflect.Method.invoke(Method.java:521)
01-01 03:04:21.734: WARN/System.err(19592): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-01 03:04:21.734: WARN/System.err(19592): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-01 03:04:21.734: WARN/System.err(19592): at dalvik.system.NativeStart.main(Native Method)是不是我有什么权限没有加啊?小弟在此请教各位高手了!谢谢!
解决方案 »
- 第一次使用Eclipse开发Android软件,请看!
- 桌面widget如何调用一个第三方的activity,并返回结果
- Android Sqlite 对 公开发布的Sqlite 有改进吗?
- android SearchView 的诡异问题!!!诡异问题!!!诡异问题!!!诡异问题!!!
- android手机开始时间怎么统计呢?
- android.intent.action.DATE_CHANGED
- android文档查询小工具
- 请怎么让程序进入睡眠状态后不锁画面?
- 关于自学安卓还是去培训学习?(求解答)
- 关于圆形和矩形碰撞的问题
- 安卓 视频流方向,求助。。。
- NDK下的two-libs例子与zlib,libpng一起编译时出现连接不成功
01-01 03:04:21.730: WARN/System.err(19592): java.io.IOException: Permission denied
具体XXXX是什么权限 ,根据你自己的需求吧
destFile.createNewFile();
}
试试看
不过有一个例外,就是app的默认目录,即/data/data/<package name>
所以4楼的同学说得对,一般情况下,那个目录,加上/data/local/tmp,加/sdcard/是不多的几个可写目录