1、Ubuntu 系统Ubuntu 14.04 LTS,
2、android源码来自于清华TUNA镜像源
    http://aosp.tuna.tsinghua.edu.cn/android/
3、下载完android源码后,进行源码编译。根目录make
4、make发现错误,无法编译。报如下错误:
You asked for an OpenJDK 7 build but your version is
You are attempting to build with the incorrect version
等。有关SDK版本问题的。
      需要你安装openJDK...................注意是openJDK   不是甲骨文公司的jdk
      如果是ubuntu,进行sudo apt-get installopenjdk-7-jre
      sudo apt-get installopenjdk-7-jdk
Fedora, OracleLinux, Red Hat Enterprise Linux, etc.
     su -c "yum installjava-1.7.0-openjdk"
    摘抄自:http://www.planetjdk.org/install/index.html
5、然后检查下java version
java version "1.7.0_101"
OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)


注意这里OpenJDK 
如果安装了但是版本没变:
那么你可以检查下环境变量:
sudo gedit /etc/profileexport 


JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64


export JRE_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/jre


export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib


export PATH={JAVA_HOME}/bin:$PATH


下面命令可以配置java命令的软链接
sudo update-alternatives  --install  /usr/bin/java java /home/wuekzhu/download/jdk1.6.0_23/bin/java   1888
(将java的链接指向/home/wuekzhu/download/jdk1.6.0_23/bin/java)
下面命令可以选择java版本
sudo update-alternatives --config java


有 2 个候选项可用于替换 java (提供 /usr/bin/java)。


  选择       路径                                          优先级  状态
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      自动模式
* 1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      手动模式
  2            /usr/lib/jvm/jdk1.8.0_65/bin/java                300       手动模式


要维持当前值[*]请按回车键,或者键入选择的编号:


6、然后进行编译
source build/envsetup.sh
生成各种命令
lauch XXXX 可以选择编译
make -j2  (2核编译-----)
7、编译错误
[1/2] choosing next stage
Choosing primary.ninja.in for next stage
[2/2] bootstrap out/soong/.bootstrap/build.ninja.in
[1/2] choosing next stage
Choosing main.ninja.in for next stage
[2/2] bootstrap out/soong/.bootstrap/build.ninja.in
ninja: no work to do.
Running kati to generate build-aosp_arm.ninja...
No need to regenerate ninja file
Starting build with ninja
ninja: Entering directory `.'
ninja: error: 'prebuilts/clang/host/linux-x86/clang-3016494/bin/clang++', needed by 'out/soong/.intermediates/external/libcxx/libc++/linux_x86_64_shared/libc++.so', missing and no known rule to make it
make: *** [ninja_wrapper] 错误 1






问题大概讲述:找不到包,进prebuilts/clang/host/linux-x86/目录发现没有clang-3016494目录
解决办法:进入根目录下面build/core/clang/versions.mk第二行改为:LLVM_PREBUILTS_VERSION ?= clang-2812033然后又遇到下面的问题:


out/soong/make_vars-aosp_arm.mk:31: LLVM_PREBUILTS_VERSION does not match between Make and Soong:
out/soong/make_vars-aosp_arm.mk:31: Make : clang-2812033
out/soong/make_vars-aosp_arm.mk:31: Soong: clang-3016494
out/soong/make_vars-aosp_arm.mk:37: LLVM_PREBUILTS_PATH does not match between Make and Soong:
out/soong/make_vars-aosp_arm.mk:37: Make : prebuilts/clang/host/linux-x86/clang-2812033/bin
out/soong/make_vars-aosp_arm.mk:37: Soong: prebuilts/clang/host/linux-x86/clang-3016494/bin
out/soong/make_vars-aosp_arm.mk:383: *** Soong variable check failed.
make: *** [out/build-aosp_arm.ninja] 错误 1


#### make failed to build some targets (01:22 (mm:ss)) ####
最后发现是源码没有下齐全, 
repo forall -c 'git reset --hard; git clean -f -d -x'




git reset --hard 是將當前HEAD 重置,不會留下之前的痕跡。git clean 清除未追蹤的文件。d是目錄,f是文件。






然后编译又遇到错误:
发现openSDK1.7不够用啊!!!
那么好吧!还是先安装下opensdk1.8




sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update 
sudo apt-get install openjdk-8-jdk




先清理下编译产生的文件:
make clobber 清理生成的文件和目录


然后编译又报错:找不到包!! 于是补足包:
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev libsdl-dev libesd0-dev


然后继续编译::::漫长等待

最后成功了。


然后想编译Android  linux内核,暂时没有VPN,留待以后研究。

 





更多相关文章

  1. android DragLayer源码
  2. [置顶] Android(安卓)Studio Eclipse运行时出现 finished with n
  3. [ZT] Android(安卓)开发源码分享
  4. Android(安卓)SparseArray源码阅读
  5. gradle编译带so的aar,并引入工程
  6. linux 下编译 vlc
  7. Adnroid LearningNotes
  8. Android(安卓)Studio下项目编译出错could not find com.android.
  9. 导入android studio 项目错误:Error:(1, 0) Plugin with id 'com.

随机推荐

  1. 开发前奏曲之添加Android(安卓)SDK平台工
  2. Android(安卓)amr语音编解码解惑
  3. Android中app的请求抓包工具 Fiddler 详
  4. Android(安卓)-- BroadcastReceiver的使
  5. 使用React Native开发Android手持机
  6. Android核心功能模块介绍
  7. 浅析Android线程模型
  8. android静默安装的实现(一)
  9. Android串口设备的应用实现方案以及与WEB
  10. Android自定义视图四:定制onMeasure强制显