mac mkdir read-only filesystem

最近看了一些android源码,看到ActivityManageService时发现android.jar中并没有ActivityManageService的源码,经查资料,该java文件是在frameworks/base/services/java/com/android/server/am/目录下,想看到它的话貌似只能去查看较为完整的android源码了。

找到了一篇在mac下编译android源码的文章,按照所写内容一步一步操作,在使用命令

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg

创建了磁盘映像并使用命令

hdiutil attach ~/android.dmg -mountpoint /Volumes/android;

装载之后,却并不能在装载后的目录/Volumes/android下创建目录,即mkdir XXX时报了一个错,大致意思是这个磁盘映像是一个“read-only filesystem”,不能够创建目录或文件。

首先,想着可能是权限不够吧,就在mkdir前面加一个sudo再次执行,并没有什么卵用,仍旧报“read-only filesystem”

之后,尝试把/Volumes/android的目录权限修改为可读写的,切换到/Volumes目录下,执行"chmod a+w android",仍旧报“read-only filesystem”

后来,去网上搜索一些相关资料,找到了最终的解决方法:在用户主目录下执行命令

hdiutil convert android.dmg.sparseimage -format UDRW -o android.dmg.sparseimage 

试过之后,可读写了,问题解决

参考资料:

  • How to write to a Mac OSX read-only filesystem?,在这个链接里找到磁盘映像转换格式的convert命令
  • Mac OS X 中一些常用的命令行技巧,在这个链接里找到-format后面的可选项,UDRW表示可读写格式

你可能感兴趣的:(mac mkdir read-only filesystem)