/data/logs 下的文件怎么用代码导出?

yhm2046 中级 2019-05-15 05:31:11
项目需要把/data/logs/下的文件传到服务器,需要代码获取。
现在解决办法
1.修改源码的系统日志收集器保存地址,即把/data/logs/ 这个路径改了
2.直接拷贝/data/logs/到sdcard中再传输

遇到问题1.源码找不到路径,2拷贝没有权限,也无法直接运行adb命令,请问该如何解决?
...全文
352 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhm2046 中级 2019-05-16
  • 打赏
  • 举报
回复
引用 4 楼 jzp12 的回复:
1.不要调整该目录,要保证必要的权限 2.你的是系统APP吗?进入到/data目录下看一下logs目录所需权限
谢谢,已经解决,按照开发者_android的思路直接获取权限后把/data/logs文件递归拷贝到sdcard中再打包上传。
android递归复制文件夹

//方法
/**
* 复制一个目录及其子目录、文件到另外一个目录
* @param src
* @param dest
* @throws IOException
*/
private void copyFolder(File src, File dest) throws IOException {
if (src.isDirectory()) {
if (!dest.exists()) {
dest.mkdir();
}
String files[] = src.list();
for (String file : files) {
File srcFile = new File(src, file);
File destFile = new File(dest, file);
// 递归复制
copyFolder(srcFile, destFile);
}
} else {
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
in.close();
out.close();
}
}

//引用
File src=new File("/data/logs");
File dest=new File("/sdcard/datalogs");
try {
copyFolder(src,dest);
Log.i("wp----------------->","sucess");
} catch (IOException e) {
e.printStackTrace();
Log.i("wp----------------->","error"+e);
}
jzp12 2019-05-15
  • 打赏
  • 举报
回复
1.不要调整该目录,要保证必要的权限 2.你的是系统APP吗?进入到/data目录下看一下logs目录所需权限
yhm2046 中级 2019-05-15
  • 打赏
  • 举报
回复
引用 2 楼 开发者_android 的回复:
是要传整个目录中的文件?
是的,打包所有文件为zip再传到服务器
开发者_android 2019-05-15
  • 打赏
  • 举报
回复
是要传整个目录中的文件?
开发者_android 2019-05-15
  • 打赏
  • 举报
回复
直接读文件内容。。。。

80,355

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧