Android源码编译相关问题记录

来源:互联网 发布:linux中重启oracle 编辑:程序博客网 时间:2024/05/16 05:33

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">下载好了Android源码之后,就要进行编译了,但是在编译的时候遇到了很多问题,自己查了大量的资料,可是并没有很有效果的解决方案。我现在摘录一些自己遇到的问题,大家共勉。转载请注明。</span>

需要下载源码的可参考我的另一篇博客:http://blog.csdn.net/zhuzhuzhu22/article/details/50086203

1.make指令的时间和权限问题

    我在make的时候事件很长很长,差不多花了十几个小时,所以大家在没有看到结果的时候还是多耐心等待。
    权限的话,make还没有特殊要求,不过如果出现了权限的要求,sudo -i 进入root,重新找到Android根目录执行make就可以。

2.模拟器emulator的问题

    想要顺利使用自带的AVD的话,最好还是编译一下SDK,我推荐大家使用sudo -i 命令进入root之后在执行 make sdk
   
   像博主这样基本就可以了,因为不使用root的话,可能会出现权限不够,不能写入文件的事情。
   编译完了sdk就可以执行emulator了,但是在使用emulator 命令时,需要如下工作:
   
root@xxx:/home/xxx/myandroid# source  build/envsetup.shroot@xxx:/home/xxx/myandroid# lunch sdk-engroot@xxx:/home/xxx/myandroid# emulator

   我的源码下载到了/home/xxx/myandroid文件夹下,大家根据自己下载的位置 使用 cd 命令进入Android源码根目录就可以。
  想要使用emulator,首先要用source 命令加载一个脚本,如果使用sh 命令也可以,但是它是一次性的。
  以上三个指令就会出现模拟器了,我这里就不附截图了。

3.关于mmm指令的问题

   mmm指令是用来编译单独的模块的,这样大家就不用每次都是用make这么漫长的编译了。但是博主写好了程序却发现mmm指令出现了错误!!!
   我把工程放在了AndroidSourceCode/external/下面,取名叫做binder。首先是mmm指令不识别的问题,好吧,我们还是老规矩source一下:

  root@xxx:/home/xxx/myandroid# source  build/envsetup.sh
   然后呢接着执行mmm命令:
   
  root@xxx:/home/xxx/myandroid# mmm ./external/binder/server
   又!又!又!报错了!!!!代码是根据老罗书里敲进去的!可为啥会出错!仔细检查一下错误报告:
   

 
  好吧,permission denied。那就sudo -i 进入root呗。进入之后,
 
 你咋又不识别了那!!!!好吧那我就接着souorce一下,接着mmm编译
 

这次总算是搞定了,总结一下需要mmm编译需要使用的命令:
sudo -isource build/envsetup.shmmm ./external/PROJECT_PATH

这书书上并没有写到,我遇到了就写下来大家分享。


0 0
原创粉丝点击