美文网首页
Ubuntu下编译Android源码

Ubuntu下编译Android源码

作者: 人家没那么好啦 | 来源:发表于2017-10-26 17:10 被阅读0次

    本来说好昨天发布的,辞职要办的事情比较多,就给耽误了,在这里说声抱歉了。
    废话不多说了,开始进入正题。

    1.Ubuntu系统最好是16.04,其他版本多多少少都有bug存在,同事之间Ubuntu系统最好保持一致。以我的经验来看,版本不同,编译的代码烧录手机,可能会产生意想不到的bug。
    2.配置openjdk ps:我下载的deb包,当然你也完全可以直接通过Linux命令安装。

    命令如下:

    a. sudo dpkg -i *.deb
    b. sudo apt-get install -f
    c. sudo dpkg -i *.deb

    3.要下载源码首先就要配置 git ,查看代码我用的AS,这个就是因人而异了。
    配置git 简单的一个命令: sudo apt-get install git
    我所在的公司代码是在gitlab上,所以要想拉取要做一下配置

    1. 输入一下命令git config --global user.name "姓名" git config --global user.email "邮箱"
      git config –list
      2.生成密匙命令:ssh-keygen -t rsa -C "你的邮箱"
      3.生成的密匙添加到gitlab上
      4.把源码拉取到本地 git clone -b(分支的意思,拉取主干,这个可以不要) xxx(ssh值)
      如果不是很懂,可以百度/google 都可以

    如果你用的其他工具这我就爱莫能助了。

    4.源码下载完成后,就可以正式编译源码了。这里以Nexus x5 源码为例:

    操作如下:

    a.编译源码前,进入源码目录/art/build/Android.common_build.mk 找到Android.common_build.mk 文件,定位到75行,将下面的代码:ifneq ($(WITHOUT_HOST_CLANG),true) 改为ifeq ($(WITHOUT_HOST_CLANG),false) ps:因为代码编译的过程中可能会报一个clang相关的错误,改这里就可以啦,当然代码不同,改的方式也不同。

    b.安装一些依赖(具体情况而定)直接执行以下命令:sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4
    ps:这个我也不是很懂,当时报错,百度找到一篇文章是这样解决的。

    c.在源码目录下执行 prebuilts/misc/linux-x86/ccache/ccache -M 50G
    加快源码编译速度的,当然电脑配置牛掰,可以忽略。

    d.开始编译(以下命令要到源码目录)

    source build/envsetup.sh
    lunch 这里选多少,这要看你们代码结构了 Nexus x5 源码选择的18
    make -j4 开始编译 (本来是j8,感觉不好听,改为了j4~~)

    其他:
    1.Ubuntu中安装完AS,可能无法进行usb 调试,执行以下命令去解决:

    a.一下命令打开 sudo vim /etc/udev/rules.d/51-android.rules viw文件,如果提示vim不存在,sudo apt-get install vim
    b.在文件内输入以下内容:
    SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev"
    c.修改文件权限,输入以下命令即可
    chmod a+r /etc/udev/rules.d/51-android.rules
    d.插入手机的usb线后,设置好开发者选项,usb调试后,在终端切入Android的SDK的platform-tools/文件夹路径,终端输入adb devices,如果连接了的话,就能找到设备名 。
    如果不能,要记得重启adb
    sudo service udev restart
    sudo adb kill-server
    sudo adb start-server
    完成重启adb后,再输入adb devices
    这样就可以真机调试了。

    2.新手改源码用的最多AS快捷键:Ctrl+Shirf+F(根据字段全局搜,那里引用了) Ubuntu下的快捷键
    命令查找的话:find . | xargs grep "xxx" (xxx你要搜索的字段)

    声明:以上来源于网上以及和同事的交流中获得。如有雷同,可能我就是参考过你的解决方式。在这里说声抱歉了。
    能帮到你,我很开心,帮不到你,说明我还要多多学习。
    建议:最好的编译源码教程,肯定是Google官方给出的,最好去参考一下。

    相关文章

      网友评论

          本文标题:Ubuntu下编译Android源码

          本文链接:https://www.haomeiwen.com/subject/zuvhpxtx.html