zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Ubuntu16.04编译Android5.1源码

源码 编译 ubuntu16.04
2023-09-14 09:09:57 时间
0.安装OpenJDK1.7 
在安装前需要DNS设置,否则提示无法找到资源:
<1>vi /etc/resolv.conf 加入:
nameserver 8.8.8.8

<2>重启网络服务
# /etc/init.d/networking restart
# sudo add-apt-repository ppa:openjdk-r/ppa
# sudo apt-get update
# sudo apt-get install openjdk-7-jre

1.安装基本组件
sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
  lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
  libgl1-mesa-dev libxml2-utils xsltproc unzip

2.安装make v3.81(可选:默认make是4.1版)
Installing GNU Make (use only make-3.81; this was designed for android)
$ wget -o make.tar.gz http://ftp.gnu.org/gnu/make/make-3.81.tar.gz
$ tar -xvzf make-3.81.tar.gz
$ cd make-3.81
$ ./configure
$ sudo make install

3.修改 art/build/Android.common_build.mk(或许不起作用)
# cd art/build
# vi Android.common_build.mk//修改第119行
修改前:# Host.ART_HOST_CLANG :=false
ifneq ($(WITHOUT_HOST_CLANG),true) //119行
# By default, host builds use clang for better warnings.
ART_HOST_CLANG :=true
endif

修改后:# Host.ART_HOST_CLANG :=false
ifneq ($(WITHOUT_HOST_CLANG),false) //119行
# By default, host builds use clang for better warnings.
ART_HOST_CLANG :=true
endif

4. 修复:error: unsupported reloc 43的错误
# cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

5.system/core/libutils/String8.cpp
 memcpy(buf + tail, buf + index + skip, next - index - skip);  
 修改为:                                                                
 memmove(buf + tail, buf + index + skip, next - index - skip); 

6.build/core/droiddoc.mk
  $(full_target): $(full_src_files) $(full_java_lib_deps)
  @echo Docs javadoc: $(PRIVATE_OUT_DIR)
  @mkdir -p $(dir $@)  

  修改为:
  $(full_target): $(full_src_files) $(full_java_lib_deps)
  @echo Docs javadoc: $(PRIVATE_OUT_DIR)
  @mkdir -p $@ 

7.frameworks/base/core/java/android/os/DisplayOutputManager.java(可选)
  删除 write2File(){}的方法注释