目 录
附录A 修改记录 ii
第1章 Spreadtrum Android的环境搭建 1-1
1.1 安装Ununtu 1.1-1
1.2 更新Ubuntu系统软件 1.2-1
1.3 安装合适的gcc和make版本 1.3-1
1.4 安装Sun-java6-jdk 1.4-1
1.5 安装更新Andriod所需环境软件 1.5-2
第2章 Spreadtrum Android的源码编译 2-3
2.1 解压缩源码包至某工作目录 2.1-3
2.2 编译所有代码 2.2-3
2.3 单独编译uboot ,spl和fdl2 2.3-3
2.4 单独编译kernel 2.4-4
2.5 仅编译原生Android 2.5-5
第1章 Spreadtrum Android的环境搭建
可参考Google的Android环境搭建网页:source.android/source/initializing.html.
1.1 安装Ununtu
编译的操作系统要求是Ubuntu,编译环境可以是个人电脑,也可以是服务器。
对于个人电脑,可以单独装Ubuntu(包括和Windows双系统共存),也可以在Windows上安装Ubuntu虚拟机VM。本步骤使用Ubuntu10.10 VM on Windows XP SP3。验证Ubuntu10.10以及Ubuntu11.04可以编译。如果是Ubuntu11.10的话,由于其附带的gcc为4.6版本,需要降级处理或者安装合适的gcc。
1.2 更新Ubuntu系统软件
1. 将ububtu所有系统软件更新包下载下来:sudo apt-get update
2. 安装更新包:sudo apt-get upgrade
1.3 安装合适的gcc和make版本
要能正确编译源代码,需要配备合适版本的gcc,make,java。8805和8810的编译环境一样,要求java6,gcc4.5/4.4,make3.8.1。随Ubuntu版本的不同,其附带的gcc版本也会不一致。高版本的gcc对代码要求较高,编译时可能会出问题。目前代码在4.4,4.5下的gcc可以编译,但是在gcc4.6下编译不成功,需要安装低版本的gcc。用gcc -v可以看到gcc的版本信息。
正常的make版本是3.8.1, 用make -v可以看到其版本信息。
1.4 安装Sun-java6-jdk
1. 查看Java版本:
java -version
如果结果显示是"java version "1.6.xx.xx"",则跳过以下第2步。
2. 用下面的命令将java6的下载地址加入到sources.list并下载安装java6。
sudo add-apt-repository "deb archive.canonical/ lucid partner"
sudo add-apt-repository "deb-src archive.canonical/ lucid partner"
sudo add-apt-repository "deb archive.canonical/ubuntu lucid partner"
sudo add-apt-repository "deb-src archive.canonical/ubuntu lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
3. 在~/.bashrc文件最后添加下面三行修改环境变量:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
1.5 安装更新Andriod所需环境软件
若某个软件已经安装于实际系统,再次执行安装命令会自动跳过,如果忘记安装某些软件,则在后续编译过程中会提示没有安装,需要安装。
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos
sudo apt-get install libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
如果连续安装没有成功,可分别安装。以上命令等效于分别安装每个软件:
sudo apt-get install git-core
sudo apt-get install gnupg......
第2章 Spreadtrum Android的源码编译
2.1 解压缩源码包至某工作目录
tar -zxvf YourPackage.tar.gz
拿到的IDH包包括基础包和可选包,需要把可选包解压以后放在正确的位置。其中uboot的源代码目录u-boot要放在Android根目录下,hisense和CSR包里面解压出来的各个目录要放置在3rdparty子目录内。[如果客户使用CSR BT/WIFI/GPS,需要和CSR签订协议,才会得到我们的CSR包。]
2.2 编译所有代码
1. 进入3rdparty:cd 3rdparty/
2. .查看帮助信息(其中openphone,sp8805ga,sp8810ga是支持的产品列表) :
    ./build.products.sh
3. sp8805ga平台编译
./build.products.sh sp8805ga
最终生成文件在目录out/target/product/hsdroid里面,其中boot.img, system.img和userdata.img是下载所需要的文件。
4. sp8810ga平台编译
./build.products.sh sp8810ga
最终生成文件在目录out/target/product/hsdroid里面,其中boot.img, system.img和userdata.img是下载所需要的文件。
注意,3rdparty目录里面的各个模块是否参加编译取决于3rdparty/products/产品名/build.sh里面定义的模块,可以根据需要手动开关。
2.3 单独编译uboot ,spl和fdl2
1. 进入u-boot:cd u-boot/
2. sp8805ga平台编译
make CROSS_COMPILE=你的android路径/ preb

=======================================
注意:
1. 下载Ubutu11.04 通过U盘制作启动盘 注意64bit还是32bit
android2.3必须使用64bit,64bit只有AMD的,但是Intel的可以使用。
在用户登录界面底部选择 ubuntu经典 模式

禁用触摸屏 sudo rmmod psmouse

2. 下载并解压JDK6 注意64bit还是32bit 配置环境变量

3. 下载eclispe chmod a+x eclipse
可以在终端顺利启动Eclipse ,但是鼠标双击,或者用起动器启动就会出现如下的内容:

A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No java virtual machine was found after searching the following locations:…

解决办法是在终端进入你的eclipse 目录,然后输入:
mkdir jre
cd jre
ln -s 你的JDK绝对 目录/bin bin

4. 配置adb 执行环境

Spreadtrum_Android_8805和8810环境搭建和源码编译V1.0.1_Word文档相关推荐

  1. 深入谷歌开源项目【1】 - Camer2 - 环境搭建和源码编译

    前言:搞机器视觉,目前一般都有用摄像模组,或者工业相机,可是如果要搞到消费类,手机却不行.因为,手机上有个各种特效,这些都会对视觉效果有影响.所以,要在手机上搞,必须对手机的系统上的摄像头应用能够底层 ...

  2. Thingsboard入门教程:本地环境搭建和源码编译安装,献给thingsboard编译失败的同学,教程不断完善中,文章最后是thingsboard常见编译失败的问题总结

    欢迎加入ThingsBoard技术交流群 这里可复制Q群号:69998183 关注"云腾五洲":获取二开ThingsBoard物联网平台演示 交流社区:ThingsKit-Thin ...

  3. SRS流媒体服务器——单机环境搭建和源码目录介绍

    SRS流媒体服务器--单机环境搭建和源码目录介绍 1. 目录 环境搭建 源码目录介绍 1. 环境搭建 srs官⽹:https://github.com/ossrs/srs 码云的源速度快:https: ...

  4. 阿里云环境搭建流媒体服务器(自己写的文档)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.nginx-rtmp-module-master 二.使用步骤 1.我的ngix版本1.9.9 2.注意 前言 由 ...

  5. Struts2框架概述、Struts简介、Struts环境搭建、Struts执行流程、Struts文档、Struts配置文件的加载顺序-day01

    目录 第一节 框架概述 1.1 什么是框架 1.2 三大框架 1.3 三层架构 1.4 MVC.Servlet.Filter MVC Servlet Filter 第二节 Struts简介 2.1 S ...

  6. 君正4750开发板使用日记2-Linux环境搭建与内核编译

    为什么80%的码农都做不了架构师?>>>    Linux环境搭建与内核编译 上一篇中把4750开发板与PC的硬件连通了,这一篇记录的是基本的Linux环境的搭建.其实官方文档已经比 ...

  7. Android 开发环境搭建 与在编译中遇到错误make Error 45解决方法

    Android 开发环境搭建 一.安装ubuntu 10.10操作系统 使用光盘安装,注意分区,分一个swap分区为3G(原则需要与内存一样大,但可以稍微比内存大一点).当时是同事帮我弄的,swap开 ...

  8. SRS流媒体服务器——Forward集群搭建和源码分析

    SRS流媒体服务器--Forward集群搭建和源码分析 目录 Forward集群原理 RTMP流转发(Forward)部署实例 Forward集群源码分析 1. Forward集群原理 Forward ...

  9. 后台管理系统框架搭建 | CRUD实现 | MP代码生成器 | Swagger2在线文档

    day01 微信商城后台管理系统框架搭建 | CRUD实现 | MP代码生成器 | Swagger2在线文档 创建项目 项目名含大写字母会报异常 啥都不选 之后点完成 根项目的pom依赖如下,部分依赖 ...

最新文章

  1. Powershell管理系列(八)Exchange 2013通讯组管理
  2. C++radix sort基数排序的实现算法之二(附完整源码)
  3. 鼠标 ArcBall 局部坐标系 旋转模型
  4. CF455B A Lot of Games
  5. android ndk 9,Android NDK:警告:APP_PLATFORM android-9大于android:minSdkVersion 8
  6. 网页小菜单动画 网格分类菜单特效源码
  7. 【Flink】Class class org.apache.flink.types.Row cannot be used as a POJO type because not all fields a
  8. python命令行输入函数回退_Python2 中 input() 和 raw_input() 的区别
  9. WordPress资源站点推荐
  10. 神经网络的 Delta 学习规则(learning rule)
  11. python图像转字符画_Python实现图片转字符画的示例
  12. symbolicatecrash App Bug 分析工具
  13. 如何编辑图片合成图片?让我们来看看这些合成方法
  14. linux cp -r 参数,Linux cp命令参数简介
  15. 2006 IBM SOA主题会开始座席预定工作
  16. 运筹学----线性规划组成三要素、可行域、最优值、线性规划问题数学模型一般形式、线性规划问题数学模型标准形式
  17. MySQL执行-SQL执行顺序
  18. openssl加密与模拟CA签证和颁发
  19. 江湖求生android 测试,江湖求生测试服
  20. iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束

热门文章

  1. [8]Deep Learning Software-深度学习软件
  2. 2018-2019信息安全导论期末试题
  3. k8s集群管理(一)
  4. 【Java基础】入门
  5. 数据库---- 增删改查
  6. C语言 谭浩强 题目 -第八章
  7. RoboMaster机甲大师裁判系统赛事引擎助手-RM Referee Aid
  8. 小程序登录授权获取用户信息
  9. Redis看这一篇就够了
  10. 【转】小船过河问题(贪心)