• Ubuntu 下编译Android 源代码


    1、配置JDK 1.6 或者1.7(看情况配置,有的Android版本不能在1.7下运行)

    2、配置环境:终端:(CTRL+ALT+T)

    $ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline6-dev libgl1-mesa-dri libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev dpkg-dev

    3、配置USB访问权限

    # gedit /etc/udev/rules.d/51-android.rules

    把下面的内容添加到文件中

    # adb protocol on passion (Nexus One)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
    # fastboot protocol on passion (Nexus One)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
    # adb protocol on crespo/crespo4g (Nexus S)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
    # fastboot protocol on crespo/crespo4g (Nexus S)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
    # adb protocol on stingray/wingray (Xoom)
    SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
    # fastboot protocol on stingray/wingray (Xoom)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
    # adb protocol on maguro/toro (Galaxy Nexus)
    SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
    # fastboot protocol on maguro/toro (Galaxy Nexus)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
    # adb protocol on panda (PandaBoard)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
    # adb protocol on panda (PandaBoard ES)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0600", OWNER="<username>"
    # fastboot protocol on panda (PandaBoard)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
    # usbboot protocol on panda (PandaBoard)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>"
    # usbboot protocol on panda (PandaBoard ES)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
    # adb protocol on grouper/tilapia (Nexus 7)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="<username>"
    # fastboot protocol on grouper/tilapia (Nexus 7)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="<username>"
    # adb protocol on manta (Nexus 10)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0600", OWNER="<username>"
    # fastboot protocol on manta (Nexus 10)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0600", OWNER="<username>"

    执行下面的命令替换为你的用户名:

     # sed -i 's/username/youname/g' /etc/udev/rules.d/51-android.rules

    4、配置ccache

    安装ccache 并将export USE_CCACHE=1 加入到~/.bashrc中、

    # apt-get install ccache

    # source ~/.bashrc

    5、安装REPO

    创建目录

    #  mkdir /home/{YourName}/bin/android

    # PATH=/home/{YourName}/bin:$PATH

    #  cd /home/{YourName}/bin/android

    下载并安装REPO工具

    # apt-get install phablet-tools

    ps:安装了这个后就不用类似(curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo )这样的命令了。

    5、初始化REPO

    # repo init -u git://git.omapzoom.org/platform/manifest -b android-4.2.1_r1

    配置git的用户名和邮件地址:

    # git config --global user.name "your name"

    # git config --global user.email "your@email.com"

    下载(同步)源码

    # repo sync

    先记录这些,有问题再说。

  • 相关阅读:
    PHP数组
    java中线程池的几种实现方式
    JAVA是是如何处理字符的。
    byte范围及8种常见数据类型
    对Spring 及SpringMVC的理解
    Nginx+Tomcat搭建负载均衡
    nginx + tomcat配置负载均衡
    Java并发编程:Lock
    Java内部类详解
    奇怪的Java题:为什么1000 == 1000返回为False,而100 == 100会返回为True?
  • 原文地址:https://www.cnblogs.com/fcu3dx/p/3940490.html
Copyright © 2020-2023  润新知