Android问题之AS的DDMS打不开、file explorer文件权限问题

时间:2024-03-24 18:18:46

更新AS DDMS问题:

我现在用的AS版本是3.1以上,它工具栏没有了DDMS按钮,但左下角有个DeviceFileExplorer,如下图:

Android问题之AS的DDMS打不开、file explorer文件权限问题

===========================================================

打开AS的ddms时,首先遇到了这个问题如下:

Android问题之AS的DDMS打不开、file explorer文件权限问题

1.尝试先使用administor方式启动monitor,没成功;

2.因为我的机器装了eclipse和AS,eclipse的android-sdk-windows\tools同样也有monitor.bat文件,对比两个文件大小不同,用这个monitor果真可以打开;

3.虽然打开DDMS,但显示8700 端口被占用,使用如下命令(lsof -i:8700)查看哪个进程使用8700这个端口,结果是AS,kill进程,重启好了;

参考:http://blog.csdn.net/lixin88/article/details/61925038(androidstudio 无法启动ddms)

 

==================================

再来是file explorer文件浏览器中的文件夹权限问题,看了很多帖子:

http://blog.csdn.net/q394895302/article/details/52796883,(android studio关于真机调试DDMS中的data文件夹打不开的解决方法):

步骤:

1.进入SDK安装目录,找到platform-tools点击进去,按shift键并点击鼠标右键选择在命令行在此文件路径打开;

2. 输入adb shell,回车,然后再输入 su ,回车进入权限root模式

3.  输入chmod -R 777 /data/ 回车即可。(-R 是对该目录下所有文件夹都执行此操作,也可以不输入-R,直接chmod 777 /data/ 也是一样的),其中/data/是针对data文件夹,我的是storage,然后只是得到提示说这个文件夹只读不能操作未能成功;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://blog.csdn.net/myweishanli/article/details/37592515,Unable to chmod ***: Read-only file system问题的解决方法:

1.ROOT你的手机
2.用adb shell登录后,用su root切换到root用户,切换后显示#号,表示切换成功
3.用mount命令重新加载文件系统:mount -o rw,remount yaffs2 /system

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://blog.csdn.net/u013148287/article/details/52260795,Unable to chmod sdcard: Read-only file system,相同方法,这个更详细些;这个更详细,不过一开始不能看懂:http://blog.csdn.net/csdm_admin/article/details/53896755

sdcard文件夹没有任何权限   及  d- - - - - - - - -
通过如下方式可以更改:
 首先cmd下,
①如果直接到指定的目录下  通过chomd  700 sdcard 
任然有 Unable to chmod sdcard: Read-only file system  则继续②

        adb shell   进入到根用户目录下
mount -o remount rw /          重挂载文件系统
   在通过   Chmod 700 sdcard 即可修改sdcard目录权限
              
此时:sdcard     权限会变为  d rwx- - - - - - [多次实验这个最有用]

-------------------------------------------------------------------------------------

https://www.cnblogs.com/Seven-cjy/p/6102164.html,DDMS中File Explorer无法查看data/data文件解决办法,这篇文章里图文详细说了文件权限的介绍;

-------------------------------------------------------------------------------------

http://blog.csdn.net/aurorayqz/article/details/65705300,Android Device Monitor 文件管理的常见问题

里面有好像是3个相关问题,主要是中间的问题2:File Explorer 中的文件无法访问?以及问题3:File Explorer 中的文件无法 pull(下载)

复制里面关于访问权限字符的一段话:

访问权限是 drwxrwx--x,这玩意是什么意思呢?我相信,学过 Linux 的同学肯定一眼就知道这是什么意思。不知道也没关系,听我慢慢道来,这一个字符串一共有 10 个字符,第一个字符表示是文件夹还是目录,如果第 1 个字符是 d,则表示是文件夹。后面 9 个字符可以分为三组,第一组 rwx 表示所有者(user)对文件的访问权限,r 表示可读(read),w 表示可写(write),x 表示可被执行,- 表示没有该权限;第二组 rwx 表示组群(group)对文件的访问权限;第三组 --x 表示其他人(other)对文件的访问权限,可以看到,没有 r 和 w,说明 data 对其他人来说是不可读不可写的。。

Android问题之AS的DDMS打不开、file explorer文件权限问题

adb shell 是打开 adb 外壳程序。
su 是获取 root 权限,只有 root 权限才能修改文件的访问权限。
底下一堆 chmod 777 是把对应的文件或文件夹的访问权限的后 9 位设置成 rwxrwxrwx,777 就三个二进制 111, 合起来就是 111111111(9 个 1),即相当于把后 9 位访问权限都置 1,于是就成了 rwxrwxrwx,即所有用户都具有该文件的全部访问权限(妈妈再也不用担心我打不开 data 了…)。

问题三是关于adb root,以后碰到再研究。

以及他的关于使用 Android Device Monitor的总结:

1.Android Device Monitor 要在模拟器运行之前就打开,这样才不会出现模拟器设备 offline 的问题。
2.Android Device Monitor 和 Instant Run 貌似有冲突,在用 Android Device Monitor 时关闭 Instant Run 功能。我相信还有更好的解决方法,不然打开一个大一点的 APP,不能同时用这两个功能,那多影响效率啊。只是我目前还处于学习阶段,上述方案能解决我当前的问题,不影响我进一步学习,那它就是 OK 的。

3.操作 Android Device Monitor 时,应该默认把你当做其他人(other)对待,所以你对文件的访问权限很受限制。解决方法是在命令行中,通过在 adb shell 里获取 root 权限,并更改相应文件的访问权限,当然记得将 adb 所在目录添加进环境变量。

4.能访问了但是不能下载也是很麻烦的事,通过在命令行运行 adb root 获取文件的下载权限。

5.通过上述操作之后,就能正常使用 Android Device Monitor 进行文件管理了。但不幸的是,当你重启模拟器,或启动另一台模拟器时,这些配置又得重新来过,否则你还是无法访问和下载模拟器中的文件。这个问题的根源在于权限二字,问题不是不能获取权限(通过 adb shell 可以获取 root 权限),而在于获取权限太麻烦了,希望后续版本的 Android Studio 可以直接在 Android Device Monitor 的 GUI 中设置相应获取权限的命令,使得广大 Android 开发者对模拟器中的文件操作更有效率。