博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1. Android源代码下载编译
阅读量:6995 次
发布时间:2019-06-27

本文共 1437 字,大约阅读时间需要 4 分钟。

一. 安装vmware+ubuntu环境,可以尽量选择新一点的版本。

二. 源代码下载

在现在外网被墙的情况下,直接使用git从google下载android源代码基本是不可能成功的。

还好找到了清华大学的镜像,地址如下:

那么只要按照这个网站的教程一步步操作就可以了,主要是下面这句话:

参考 Google 教程 , 将 https://android.googlesource.com/ 全部使用https://aosp.tuna.tsinghua.edu.cn/ 或 git://aosp.tuna.tsinghua.edu.cn/aosp/ 代替即可。

可以参考老罗的博客,下载android源代码,注意把里面的google地址替换成tsinghua地址

老罗的博客里面下载的是2.3的版本,所以我下载的也是2.3的。那为什么选择跟老罗下载一样的版本呢?因为老罗的分析真的很不错,每一篇博客都值得仔细研读。

安卓版本列表:

http://blog.csdn.net/tonyfield2015/article/details/9734031

三. 编译

  1. cd到源代码目录

  2. . build/envsetup.sh 主要. 和build之间是有个空格的,这是个source命令,执行之后,会多出几个命令。

    这个命令执行的是 源代码目录/build/envsetup.sh文件,一般会用到多出来的choosecombo,mm,mmm命令。

    mm编译当前目录,也就是一般是这样cd ./xxx/xxx -> mm

    mmm编译指定目录,也就是一般是这样mmm ./xxx/xxx

  3. choosecombo选择编译参数,一般默认即可。

  4. make 编译

四. 编译出错

编译的过程中不可能一帆风顺,会出现各种各样的错误;

比如64位环境不能编译32位,或者gcc版本太低或者太高,肯定会有各种各样的错误。

所以,不要害怕出现错误,如果出现编译出错的情况,一般直接把错误贴到百度搜索,然后一般都有解决方法。

修改之后,再执行make

五. 运行模拟器

1. 先按照老罗的方法把emulator加入环境变量

USER-NAME@MACHINE-NAME:~/Android$ export PATH=$PATH:~/working_directory/out/host/linux-x86/bin  

USER-NAME@MACHINE-NAME:~/Android$ export ANDROID_PRODUCT_OUT=~/working_directory/out/target/product/generic

ps:

working_directory是我的源代码保存文件夹,它的全路径是:/home/android/working_directory, 可能大家的路径跟这个有所不同。

不过最好把这两行添加到home目录下的.bashrc文件中,这样重启电脑后就不用再次输入这两个命令了。也就是

cd ~

vim .bashrc

输入内容后保存,重启下虚拟机。

2. 在命令行中运行emulator 启动模拟器,如下图:

PS:

AOSP-Android Open-Source Project Android开发源代码计划

     本文转自rongwei84n 51CTO博客,原文链接:http://blog.51cto.com/483181/1742462,如需转载请自行联系原作者

你可能感兴趣的文章
小试下新博客,一个列传行的SQL
查看>>
带你一分钟理解闭包--js面向对象编程
查看>>
MySql基本使用方法
查看>>
cas系列-cas REST协议(三)
查看>>
LAME的“命令行”
查看>>
技术人员的眼高手低
查看>>
PAT 天梯杯 L2-020 功夫传人
查看>>
YOLO训练自己的数据集的一些心得
查看>>
PyQt5学习-day1 -4 退出按钮
查看>>
使用Parallel.Invoke并行你的代码
查看>>
Linux-Rsync命令参数详解
查看>>
java--xml文件读取(JDOM&DOM4J)
查看>>
Fancybox丰富的弹出层效果
查看>>
口袋笔记VS松鼠笔记
查看>>
silverlight 将chart图倒入到excel
查看>>
IE 下JS和CSS 阻塞后面内容总结
查看>>
Oracle数据库常用操作脚本
查看>>
LeetCode – Refresh – Word Search
查看>>
清理messages提示-bash: /var/log/messages: Operation not permitted的处理
查看>>
flask蓝图的简单使用
查看>>