Android源码环境搭建
参考:
1.安装Ubuntu16.4 系统
2.openjdk 8 的安装
sudo apt-get install openjdk-8-jdk
使用java -version
检查版本
3.安装所有的软件包
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 libgl1-mesa-dev libxml2-utils xsltproc unzip
源码下载
按上文的链接,这里选择本地解压方式的方式
下载链接地址:https://pan.baidu.com/s/1Jwsrb-zwrQO-HEHo5eo9Jg 提取码:uu1j
安装解压工具并解压
sudo apt-get install p7zip
7zr x android-8.1.0_r1.7z
这里出现一个Sub Items Errors:1
可以不用管
解压后的目录如下:
编译asop代码
1.执行 . build/envsetup.sh
2.lunch
3.选择6
, aosp_x86_64-eng
,用模拟器来演示
4.make
遇到的问题
1.提示SSL error
参考:
错误提示大概如下:
可按上面的链接,修改
sudo vi /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
删除如下的内容
2.QuickSearchBox_intermediates/with-local/classes.dex
错误
参考:
编译路径中有中文造成,参考如下的链接,将路径修改为英文:
make
成功后又如下的提示:
运行emulator
,模拟器窗口如下:
如果关机后再运行emulator
,还是需要重新
. build/envsetup.sh
lunch
如果没有修改不需要make
,有修改需要make
添加log打印在framework上
参考上面的链接,在Activity
的onCreate
方法中添加如下的log
通过vi来编辑
cd framework/base
find -name Activity.java
vi ./core/java/android/app/Activity.java
添加log
回到根目录:
make framework
make systemimage
之后,emulator
打开模拟器,打开几个Activity
,过滤log:
说明
Android编译相关知识可参考官方网站:
1.envsetup.sh
使用 envsetup.sh
脚本初始化环境:
source build/envsetup.sh
或者
. build/envsetup.sh
2.lunch
使用 lunch
选择要构建的目标