kali系统AOSP源码编译
文章目录
前言
本文记录
Kali2022
编译AOSP
源码过程。
版本:android-8.1.0_r1
手机:Nexus 5x
虚机配置:4C8G ,400G固态盘存储
一、编译准备
1.修改zsh
为bash
# 修改bash
chsh -s /bin/bash
# 重启系统
shutdown -r now
2.安装openjdk-8-jdk
kali2022
自带openjdk-11-jdk
,且apt intall openjdk-8-jdk
无法安装openjdk-8-jdk
。- 网址:https://www.openlogic.com/openjdk-downloads
- 下载
openjdk-8-jdk
,设置环境变量
wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u262-b10/openlogic-openjdk-8u262-b10-linux-x64.tar.gz
tar -xvf openlogic-openjdk-8u262-b10-linux-x64.tar.gz
cp openlogic-openjdk-8u262-b10-linux-x64 /usr/local/sbin/
- 编辑
~/.bashrc
,添加下列内容后,执行source ~/.bashrc
export JAVA_HOME=/usr/local/sbin/openlogic-openjdk-8u262-b10-linux-x64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.修改默认Python版本
kali2022
自带版本为python3
,需要修改为python2
版本。
# 查看软连接,python指向python3
ls -al /usr/bin/ | grep python
# 修改为python2有两种方法
# 方法一:修改软连接为python2
cp /usr/bin/python /usr/bin/python.bak
ln -s /usr/bin/python2 python
# 方法二:修改python版本优先级,提升python2优先级
pdate-alternatives --install /usr/bin/python python /usr/bin/python2 150
update-alternatives --install /usr/bin/python python /usr/bin/python3 100
4.添加环境变量
- 编辑
~/.bashrc
,添加下列内容后,执行source ~/.bashrc
export LC_ALL=C
- 修改
JACK_SERVER_VM_ARGUMENTS
变量,此变量可能会有变化(本人虚机配置:4C8G
)
# 编辑 `~/.bashrc`,4096M可根据具体情况设置,1024M~2g都有可能
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096M"
# 重启jack-admin服务
./prebuilts/sdk/tools/jack-admin kill-server
./prebuilts/sdk/tools/jack-admin start-server
二、下载Android源码,编译
1.下载源码
- 进入 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/ ,选择对应指定包(如果包太大)
wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar #
- 此处
tar
包过大,可选用迅雷下载完毕,设置kali
虚机共享路径即可。
- 虚机中执行指令,可直接共享文件
vmhgfs-fuse .host:share /mnt/hgfs/ # 若没有此目录,新建即可
# 进入共享路径
cd /mnt/hgfs/
# 参考上面的博文,创建编译目录
mkdir ~/AOSP
# 解压缩至~/COMPILE
tar -xvf aosp-latest.tar -C ~/AOSP
2.配置编译环境
apt update
dpkg --add-architecture i386
apt install bison tree libc6:i386 libncurses5:i386 libstdc++6:i386 libxml2-utils
# 配置git
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
# 配置repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
vim ~/.bashrc
# 添加 export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
source ~/.bashrc
3.编译前
- 在编译之前,替换编译的
android
为android-8.1.0_r1
版本。
cd ~/AOSP
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r1 # 替换为android8版本
repo sync
- 进入网址:https://developers.google.cn/android/drivers#dragonopm1.171019.011 ,下载对应驱动(不同Android版本对应不同版本驱动,可到网址 https://source.android.com/setup/start/build-numbers 查看对应版本)放入
AOSP
路径。
cd ~/AOSP
wget https://dl.google.com/dl/android/aosp/google_devices-dragon-opm1.171019.015-2b1968a6.tgz
wget https://dl.google.com/dl/android/aosp/nvidia-dragon-opm1.171019.015-924f96a6.tgz
tar -xvf google_devices-dragon-opm1.171019.015-2b1968a6.tgz
tar -xvf nvidia-dragon-opm1.171019.015-924f96a6.tgz
./extract-lge-bullhead.sh
./extract-qcom-bullhead.sh
4.编译
cd ~/AOSP
source build/envsetup.sh
lunch # 选择aosp_bullhead-userdebug
make -j8
# 编译完成后,输出路径为:~/AOSP/out/target/product/bullhead
三、总结
- 编译比较耗费时间,网上编译教程较多,总之:bug不决先百度。