pro*_*007 0 android file root android-file
编辑:当我尝试实施建议的解决方案时发生错误.请查看以下附加信息.如果可以,请帮助我,提前谢谢!
好的,所以我最终得到了我的应用程序来创建和写入最近的文件.
在模拟器上,这非常有效.但是,当我将应用程序上传到手机并尝试adb shell进入手机时.我无法访问手机中包含该文件的目录.
目录是/data/data/cpe495.smartapp/files/.当我尝试更改目录时,它告诉我我没有权限.
我假设这是因为我的手机没有根,而且我不在root帐户中.根植我的手机不是我要做的事情.
有没有办法,我可以创建这个文件并写入它,并能够adb pull从我的手机?这是我创建文件的当前方式:
fOut = tThis.openFileOutput("test.csv", tThis.MODE_APPEND);
Run Code Online (Sandbox Code Playgroud)
提前致谢!!
还是行不通
我已将以下代码添加到我的应用程序中,当我运行它时,当它尝试将文件写入SD卡时,它失败并出现以下错误,请帮助我!
String inFileName = "/data/data/cpe495.smartapp/files/test.csv"; //TODO Use folder/filename
File inFile = new File(inFileName);
try{
FileInputStream fis = new FileInputStream(inFile);
String outFileName = Environment.getExternalStorageDirectory()+"/test.csv"; //TODO Use output filename
OutputStream output = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer))>0)
output.write(buffer, 0, length);
output.flush();
output.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
04-05 23:20:11.551: WARN/System.err(285): java.io.FileNotFoundException: /mnt/sdcard/test.csv (Permission denied)
04-05 23:20:11.582: WARN/System.err(285): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method)
04-05 23:20:11.593: WARN/System.err(285): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152)
04-05 23:20:11.601: WARN/System.err(285): at java.io.FileOutputStream.<init>(FileOutputStream.java:97)
04-05 23:20:11.601: WARN/System.err(285): at java.io.FileOutputStream.<init>(FileOutputStream.java:168)
04-05 23:20:11.612: WARN/System.err(285): at java.io.FileOutputStream.<init>(FileOutputStream.java:147)
04-05 23:20:11.622: WARN/System.err(285): at cpe495.smartapp.SmartApp$8.onClick(SmartApp.java:162)
04-05 23:20:11.622: WARN/System.err(285): at android.view.View.performClick(View.java:2408)
04-05 23:20:11.632: WARN/System.err(285): at android.view.View$PerformClick.run(View.java:8816)
04-05 23:20:11.632: WARN/System.err(285): at android.os.Handler.handleCallback(Handler.java:587)
04-05 23:20:11.642: WARN/System.err(285): at android.os.Handler.dispatchMessage(Handler.java:92)
04-05 23:20:11.642: WARN/System.err(285): at android.os.Looper.loop(Looper.java:123)
04-05 23:20:11.685: WARN/System.err(285): at android.app.ActivityThread.main(ActivityThread.java:4627)
04-05 23:20:11.685: WARN/System.err(285): at java.lang.reflect.Method.invokeNative(Native Method)
04-05 23:20:11.692: WARN/System.err(285): at java.lang.reflect.Method.invoke(Method.java:521)
04-05 23:20:11.702: WARN/System.err(285): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-05 23:20:11.702: WARN/System.err(285): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-05 23:20:11.711: WARN/System.err(285): at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
您是否需要root访问权才能访问该文件.
作为解决方法,您可以创建一个活动或测试功能,将该文件复制到SD卡,以便您可以阅读它.
编辑 - 此答案包含将文件复制到SD卡的示例代码.
更新 - 对于上述答案,您需要在<manifest ... >标签后的清单中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1142 次 |
| 最近记录: |