转载请注明出处:https://blog.csdn.net/turtlejj/article/details/89328174,谢谢~
最近在自己的电脑上重装了系统,把Ubuntu 16.04升级成了Ubuntu 18.04,不得不说,性能真的提升了好多(至少心理上感觉提升了╮(╯▽╰)╭)。
但在升级之后,编译安卓系统源码的过程中却遇到了各种各样16.04上没有遇到过的问题。因此在这里把解决的过程记录一下,既算是给自己做一个笔记,同时希望能让其他遇到这些问题的朋友少走一些弯路。
关于Ubuntu如何下载Android源码,网上有很多文章在写,大家可以自行百度,我这里就不多说了。我们只关注编译安卓源码及adb连接手机两方面的问题解决方案。
如果有同学希望了解如何使用Android Studio导入安卓系统源码,并进行单步调试的话,也可以参考我的另外两篇文章。
《使用Android Studio导入Android系统源码》
《使用Android Studio对Android系统源码进行单步调试》
好,废话不多说,下面我们就开始吧~
一、编译前的准备工作
1. 运行以下命令安装编译所需的工具
sudo apt-get install git-core ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev \
libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven
2. 安装openjdk8
顺序执行以下两条命令安装openjdk8
sudo apt-get update
sudo apt-get install openjdk-8-jdk
我的Ubuntu 18.04自带的java版本是openjdk11,因此,在安装完openjdk8以后,需要手动做以下切换:
sudo update-alternatives --config java
有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 自动模式
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 手动模式
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:2 (回车)
javac的版本可能也需要做一下切换(我的电脑上不需要):
sudo update-alternatives --config javac
链接组 javac (提供 /usr/bin/javac)中只有一个候选项:/usr/lib/jvm/java-8-openjdk-amd64/bin/javac
无需配置。
二、开始编译
关于编译的方法,我们此处以Android 8.0为例。
在编译的过程中,需要执行以下三条命令:
1. "source build/envsetup.sh