VirtualBox上编译android遇到共享文件夹引起的问题

故事:用mac系统,但芯片厂商提供的方案里没有提供mac系统编译android,只好装了虚拟机。虚拟机里parallels desktop算是比较好用,不过坑爹的是,编译时期make命令挂了,提示"segmentation fail",Google未果。只好重新启用virtualbox。

在虚拟机管理里设置了共享文件夹,之后发现权限不够:

?  ~  ls /media/sf_AndroidBuild 
ls: 无法打开目录/media/sf_AndroidBuild: 权限不够

解决方法是用mount命令挂载进来

?  ~  sudo mkdir -m 755 /mnt/AndroidBuild
?  ~  sudo mount -t vboxsf -o AndroidBuild /mnt/AndroidBuild

mount命令至少需要知道三个信息:

  1. 要加载对象的文件系统类型:vboxsf
  2. 要加载对象的设备名称:AndroidBuild,就是在虚拟机管理设置的名字
  3. 要加载到哪个目录下:/mnt/AndroidBuild

挂载之后,当前用户没有写权限,加上参数`-o`:

?  ~  sudo mount -t vboxsf -o rw,uid=1000,gid=1000 AndroidBuild /mnt/AndroidBuild

其中uid和gid表示当前用户的id,可以用`id`命令查到:

?  ~  id caohong
uid=1000(caohong) gid=1000(caohong) groups=1000(caohong),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)

结果如下:

?  ~ /mnt/AndroidBuild/LL95  mount | grep vboxsf    
AndroidBuild on /media/sf_AndroidBuild type vboxsf (gid=999,rw)
AndroidBuild on /mnt/AndroidBuild type vboxsf (uid=1000,gid=1000,rw)

这下可以了吧,你还会遇到编译时的错误:“ln: 无法创建符号链接"out/target/": 只读文件系统”

答案在这儿找到:cannot create symlinks in virtualbox shared folders virtualbox在某版本之后禁用了在共享文件夹里创建链接(symbol link),workaround的方法是:

?  ~ VBoxManage setextradata ubuntu64 VBoxInternal2/SharedFoldersEnableSymlinksCreate/AndroidBuild 1
?  ~ VBoxManage getextradata ubuntu64 enumerate
Key: GUI/InfoDlgState, Value: 400,450,normal
Key: GUI/LastCloseAction, Value: PowerOff
Key: GUI/LastGuestSizeHint, Value: 640,480
Key: GUI/LastNormalWindowPosition, Value: 32,44,640,342,max
Key: GUI/LastScaleWindowPosition, Value: 20,52,1245,694,max
Key: GUI/VirtualScreenToHostScreen0, Value: 1
Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/AndroidBuild, Value: 1

`ubuntu64`是虚拟机的名字,`AndroidBuild`是共享文件夹的名字,设置成功后用`VBoxManage getextradata`可以查到,重启搞定

VirtualBox上编译android遇到共享文件夹引起的问题

时间: 2024-08-01 12:07:17

VirtualBox上编译android遇到共享文件夹引起的问题的相关文章

【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法

[转]Ubuntu 上编译Android出现cannot find -lstdc++解决办法 在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的libstdc++.so库. /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++ /usr/bin/ld: skipping incom

virtualbox中ubuntu和windows共享文件夹设置

系统平台:win7.virtualbox4.3.12.ubuntu12.04 1.安装增强功能 1.1设备-安装增加功能 1.2击运行(输入建立的账户密码进行授权)     1.3入终端输入命令: ca /media ls cd VBOXADDITIONS_4.3.12_93733 ls sudo ./VBoxLinuxAdditions.run  #安装virtualbox增强包   2. 实现共享文件功能 2.1 windows下新建文件夹 在E盘下创建一个共享文件夹 shared.   2

【转】Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)

原文网址:http://blog.csdn.net/chenyafei617/article/details/6570928 一.Introduction 今天我们就来谈谈如何在Ubuntu平台上面编译android源码,我的是ubuntu10.04版本,在进行编译流程讲解之前我想讲一下 make .make snod .make kernel的作用,m.mm.mmm它们的作用以及区别. - make:                 编译源码,生成相应的系统镜像文件.             

Jenkins实战 在redhat上编译android项目jar包

好久没记录自己学到的东西了.现在加入了新公司,先做个持续集成练练手,期间遇到很多问题,在此记录一下. 首先是Jenkins刷新几次就直接挂了,其实没有多少job在跑.这个问题没这么看,最后mentor发现是memory的问题,默认值太低了,必须设置一下.参见link. 然后项目源码是放在自建gitlab上的,装了个gitlab hook插件,里面会帮你装git相关的插件,而hook可以接收gitlab那边的code有变动的时候发送的消息,然后自动build. 构建前准备: mentor说当构建任

VIrtualBox中设置CentOS6.7共享文件夹

主机的操作 在主机中创建一个想要放置共享文件的文件夹,记住路径和文件夹名字,比如SHARE,再在VirtualBox中对要共享文件的虚拟机选择设置->共享文件夹->添加共享文件夹,将刚才创建的文件夹添加进去,设置为自动挂载.打开虚拟机,VirtualBox选择安装增强功能,失败的话就强制释放,可以在虚拟机桌面中看到ISO文件. 虚拟机的操作 在虚拟机创建一个你想要放置共享文件的文件夹,注意名字不能和之前在主机中创建的一样. mkdir /mnt/share 建议先执行下面两条指令 1安装编译内

02 - 安装VirtualBox增强功能并设置共享文件夹

VirtualBox增强功能可以让系统分辨率可以自适应窗口,并且可以共享文件夹,还有其他很多有用的功能. 安装VirtualBox增强功能. VirtualBox的菜单:设备->安装增强功能, 这时Ubuntu里会自动插入光驱,点击运行. 需要root权限,输入密码,点击授权. 等待安装完成,按键退出窗口. 接下来设置共享文件夹. 菜单:设备->共享文件夹->共享文件夹... 点击打开对话框 选择你在Windows上想作为共享文件夹的文件夹,这里的共享文件夹名称要记住.点击OK. Ctr

virtualbox安装centos6.5设置共享文件夹

在设置共享文件夹时候,参考了网上的其他人的方法,因为每个人遇到的情况都不一样,所以把自己实际碰到和处理的方法作以总结,以备忘. 1:VirtualBox中点击 设备->设备增强功能 2:挂载光驱 mount -t iso9660 /dev/dvd  /media/cdrom   提示错误 :/dev/dvd write-protected (写保护) 执行 mount -o remount,rw  /dev/dvd /media/cdrom  ---成功 备注:首先查看下/dev下设备标志是否是

win7和virtualbox的centos6.5设置共享文件夹的步骤

virtualbox命令行共享CentOS目录 1. 安装virtualbox增强工具 "右ctrl+c" 显示和隐藏virtualbox虚拟机的菜单栏. 在VirtualBox的菜单里选择"设备(Devices)" -> "安装增强功能包(Install Guest Additions)" 创建挂载目录: mkdir /mnt/share 挂载:mount /dev/cdrom /mnt/share cd /mnt/share ./VBo

VirtualBox使用Centos7与主机共享文件夹

最近使用VitrtualBox安装Centos7学习,liunx脚本和一些命令,经过一些研究完成了虚拟机与 主机共享文件夹,虚拟机链接外部网络,主机与虚拟机互相通信.在其中遇到一些我解决的技术问题记录下来,供大家参考. 一.VirtualBox要让Centos7和主机共享文件夹,要安装增强功能,虚拟机如果不是Centos7. 可以通过启动虚拟机->点击设备安装增强功能. centos7 安装增加功能步骤如下 打开virtualbox安装目录找到VBoxGuestAdditionsISO文件 点击