当前位置: 首页 > news >正文

源代码的下载和编译

源代码的下载和翻译

1.配置android源代码下载环境

1)创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件放到任何目录中,在这里使用~/bin

#mkdir ~/bin

# PATH=~/bin.PATH

(2)下载repo脚本文件(用于下载android源代码)

#curled https://dldl-ssl.google.com/dl/googlesource/git-repo/repo>-/bin/repo

# chmod a+x ~/bin/repo

repo文件实际上是用python脚本对Git的封装,主要是为了简化下载源代码的操作。

(3)创建用于存放android源代码的目录(可放在其他目录下)

# mkdir  android_source

#cd android_source

(4)初始化

# repo init -u https://android.googlesource.com/platform/manifest

(5)开始下载android源代码

# repo sync

2下载android源代码的子项目

方法1:使用repo sync 命令

# repo  sync  platform/bootable/recovery

# repo  sync platform/packages/apps/camera

方法2:使用git clone命令

git clone https://android.googlesource.com/<project.name>

下载recovery工程的命令:

git clone https://android.googlesource.com/platform/bootable/recory

Repo sync git clone区别:

Repo  sync会在当前目录生成一个隐藏目录.repo。该目录存放了下载android源代码所需的全部信息。Git clone只会建立工程目录,并不建立层次路径结构、

  1. 编译android源代码

(1)初始化编译环境

# source  building/envsetup.sh 或者# .build/envsetub.sh

Mmmmm区别:mm命令不许进入制定工程目录进行编译,mmm命令可以在android源代码目录结构中任何一级目录编译任意指定的工程,只要指定工程路径即可。

(2)选择目标

使用lunch命令设置编译目标

# lunch full-eng

(3)编译android源代码

如果在多核的PC上不加-Jn命令符,make命令只会利用一个CPU核进行编译,这将大大降低android源代码的编译效率。

4.out目录结构分析

Out目录是存放编译android源代码生成的目标文件的默认目录。Out目录中只有两个直接子目录:hosttargetHost目录主要是一些编译过程中需要的一些库和工具。

5.安装交叉编译器

(1)准备工作

(2)解压编译器:# tar  zxvf arm-linux-gcc-4.3.2.tgz -c/

 #tar jxvf arm-none-linux-gnueabi-arm-2008q3-72-for-linux.taz -c/

 (3)验证交叉编译器是否安装成功

# ls /usr/local/arm -1

 (4)安装libncurses5

# apt-get install libncurses5-dev

6.配置和编译Linux内核

#export PATH=/root/compilers/arm-none-linux-gnueabi/bin:PATH

#cd ~/linux_kernel

#make clean

#make

 

转载于:https://www.cnblogs.com/yqing/p/5438458.html

相关文章:

  • SSH的整合
  • 项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库...
  • Java---常用基础面试知识点
  • 对Java中接口和抽象类的理解
  • HTML表格修饰1
  • 使用xib封装一个自定义view的步骤
  • 一道简单的笔试题
  • c# 程序调试出现“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。”...
  • CDH(Cloudera)与hadoop(apache)对比
  • IntelliJ IDEA 配置Jetty
  • Spring Cache 介绍
  • WebService应用:音乐站图片上传
  • Linux:信号(上)
  • NYOJ-301递推求值
  • HDOJ(HDU) 2502 月之数(进制)
  • 【347天】每日项目总结系列085(2018.01.18)
  • Asm.js的简单介绍
  • cookie和session
  • Laravel核心解读--Facades
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 大整数乘法-表格法
  • 简析gRPC client 连接管理
  • 免费小说阅读小程序
  • 深入 Nginx 之配置篇
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 我是如何设计 Upload 上传组件的
  • 源码安装memcached和php memcache扩展
  • 自定义函数
  • Nginx实现动静分离
  • (ZT)出版业改革:该死的死,该生的生
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (全注解开发)学习Spring-MVC的第三天
  • (三)Honghu Cloud云架构一定时调度平台
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET Core 成都线下面基会拉开序幕
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net web项目 调用webService
  • /etc/skel 目录作用
  • @Conditional注解详解
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @Transient注解
  • [4.9福建四校联考]
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [BJDCTF2020]The mystery of ip
  • [C语言]一维数组二维数组的大小
  • [Hive] INSERT OVERWRITE DIRECTORY要注意的问题
  • [javaSE] 看知乎学习工厂模式
  • [JavaWeb]—前端篇
  • [LeetCode]-使用特殊算法的题目-2
  • [Linux打怪升级之路]-信号的保存和递达
  • [LOJ161] 仙人掌计数
  • [office] 图文演示excel怎样给单元格添加下拉列表 #知识分享#经验分享
  • [Pytorch]:PyTorch中张量乘法大全
  • [Redis] Redisson实现分布式锁