`

在Virtual Box的shared folder中编译android源码。

阅读更多

一些诡异的选择会带来诡异的问题,比如android源码sync到一个shared folder里面,然后在这个Folder里面编译android源码。

 

问题:在SharedFolder下使用make -jx (x > 1)导致虚拟机挂掉的几率远大于非SharedFolder下编译。基本导致无法编译。

解决:老老实实的make -j1

 

问题:make提示.Trashes目录没有写权限。

分析:在linux虚拟机里面用ll看了一下,folder属于vboxsf用户组,而当前用户确实属于这个组,目录的权限明明有RW。cd进.Trashes之后,用ll明确的告知没有读权限,卧槽。。。。

不过想了一下,马上明白了,这个.Trashes目录是在Mac里面创建磁盘的时候创建的,而不是在linux box里面创建的,关于权限的解释权在外面的OSX里面。

解决:回到OSX找到这个SharedFolder的.Trashes目录,执行chmod -R 777 .Trashes搞定Trashes权限的问题。

 

问题:make提示某个java的.tmp文件无法读取。

分析:没有分析出来具体原因,因为通过shell直接去读是没有问题的。只能猜测是VB在实现SharedFolder自身的问题。

解决:通过重置android编译的out目录到ubuntu某个非SharedFolder目录下解决。具体命令为:

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics