清华地址:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

  • 下载repo:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
  • 创建保存源码的路径
mkdir android_7.1.1_r27


cd android_7.1.1_r27

mkdir /media/sf_gongxiang/android_7.1.1_r27


cd /media/sf_gongxiang/android_7.1.1_r27
  • 初始化仓库:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-7.0.0_r29
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-7.1.1_r27

repo init -u https://android.googlesource.com/platform/manifest -b android-7.1.1_r27
  • 最后同步源码树:
repo sync
只需要将 .repo/manifest.xml 把其中的 aosp 这个 remote 的 fetch 从 https://gerrit.googlesource.com/git-repo
 改为 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/。

Please make sure git is installed and in your path.

sudo apt-get install git
  • 设置用户名和密码
运行


  git config --global user.email "1782980833.com"
  git config --global user.name "zhaolixiang"
  • 进入自己主目录,按ctrl+h.就能看见以点号开头的隐藏文件
  • 设置共享文件:ubuntu输入:
mkdir gongxiang
mount -t vboxsf gongxiang gongxiang
  • 从build/core/main.mk搜索jdk观察,需要的jdk版本,

例如:

# For Java 1.7/1.8, we require OpenJDK on linux and Oracle JDK on Mac OS.
export JAVA_HOME=/home/zhaolixiang/java/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/bin/tools.jar:$JRE_HOME/bin
export ANDROID_JAVA_HOME=$JAVA_HOME
  • 编译源码
make

make后面的参数跟电脑的cpu有关我的使用的是-j8,也可以-j2,-j4等,2的倍数。

  • 配置模拟器环境
 export PATH=$PATH:~/android_7.1.1_r27/out/host/linux-x86/bin    
export ANDROID_PRODUCT_OUT=~/android_7.1.1_r27/out/target/product/generic
  • 运行模拟器。
 emulator

完成


编译问题1:

FAILED: /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp system/tools/aidl/aidl_language_l.ll"
flex-2.5.39:严重内部错误,exec of /usr/bin/m4 failed
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

解决方法:

sudo apt-get install m4
sudo apt-get install  libxml2-utils

编译问题2:

/bin/bash: prebuilts/misc/linux-x86/bison/bison: No such file or directory 
当出现该问题时,通过阅读,并不是没有bison这个运行库,而是没有找到该库;

解决方法:

sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev

解决方法2:

编译Android-5.1.1时出现bison找不到,但ls可以看的到。解决办法:
ubuntu 64位系统运行32位程序的问题,需要安装运行32位程序的兼容库
sudo apt-get install lib32ncurses5
sudo apt-get install lib32stdc++6

编译问题3:emulator:未找到命令

原因:说下的原因,我的原因是之前编译过一次,然后过了几天我想运行下,输入emulator 提示emulator:未找到命令。
解决办法也很简单,就是把之前的编译执行的脚步再执行一遍:
$ source build/envsetup.sh 
$ lunch 选择1
$ emulator

results matching ""

    No results matching ""