下面的所有操作都是我在新安装的Ubuntu18.04上的步骤,只要你和我的步骤一致就不会出错。
下载直接通过清华大学AOSP镜像下载,网址https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
按照下面几个步骤来
mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
mkdir android_4.4.2-r2
cd android_4.4.2-r2
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.4.2_r2
repo sync
如果你会,那么直接参考Android官方文档下载源代码即可,网址https://source.android.com/setup/downloading
步骤和使用清华大学AOSP镜像类似
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
mkdir android_4.4.2-r2
cd android_4.4.2-r2
repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r2
repo sync
编译的话参考这篇博文https://www.jianshu.com/p/2b2c723825a9,文章是使用Ubuntu16.04,不过Ubuntu18.04也是没问题的。
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo mkdir /usr/local/jvm
sudo cp jdk-6u45-linux-x64.bin /usr/local/jvm
cd /usr/local/jvm
sudo chmod +x jdk-6u45-linux-x64.bin
sudo ./jdk-6u45-linux-x64.bin
然后是配置
sudo gedit ~/.java1.6path
然后在打开的文本编辑器中添加如下内容
export JAVA_HOME=/usr/local/jvm/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME:$PATH
下载地址ftp://ftp.gnu.org/gnu/make/make-3.82.tar.gz
tar -zxvf make3.8.2.tar.gz
cd make3.8.2
./configure
make
make install
sudo cp /usr/local/bin/make /usr/bin/
选择当前java版本为java1.6
source ~/.java1.6path
切换到android4.4.2源代码根目录
cd android-4.4.2_r2
source build/envsetup.sh
选择编译版本,这里选择第二个x86 eng的,这样可以编出来的模拟器是可以使用你的GPU加速的
lunch
然后输2
然后开始编译,看电脑性能而定,起码2个小时了
make
cd android-4.4.2_r2
make idegen && development/tools/idegen/idegen.sh
然后使用Android Studio打开源代码根目录的android.ipr文件即可
配置编译环境
source build/envsetup.sh
选择编译版本
lunch
然后输2
打开模拟器
emulator
待补充
mmm /framework/base/
make snod
emulator
同理你可以下载+编译+导入android P的源码
mkdir android-9.0.0_r42
cd android-9.0.0_r42
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r42
repo sync
编译Android P源码需要open-jdk8
sudo apt-get install openjdk-8-jdk
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
source build/envsetup.sh
lunch
https://source.android.com/setup/downloading
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
https://www.jianshu.com/p/2b2c723825a9
https://stackoverflow.com/questions/24531006/how-to-import-android-source-codeaosp-into-android-studio
https://www.jianshu.com/p/367f0886e62b