您的位置:首页 > 移动开发 > Android开发

基于ubuntu12.04 编译Android 7.0源码

2016-11-05 14:29 806 查看
公司要上线android7.0,因此要部署环境,ubuntu 12.04 上面编译必须安装配置 openjdk-8-jdk、openjdk-8-jre .但是由于ubuntu 12.04 默认只带有openjdk-7、openjdk-6的包。

这是就需要我们单独安装openjdk-8 .

首先添加相应的source.list

1、sudo apt-add-repository ppa:openjdk-r/ppa

2、sudo apt-get update

sudo apt-get install openjdk-8-jdk

查看已安装的java

sudo update-alternatives –config java

配置完成后就开始编译源码

进入$HOME_DIR/

source build/envsetup.sh
lunch 选择相应combo
You're building on Linux

Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
5. aosp_x86-eng
6. aosp_x86_64-eng
7. full_fugu-userdebug
8. aosp_fugu-userdebug
9. mini_emulator_arm64-userdebug
10. m_e_arm-userdebug
11. m_e_mips64-eng
12. m_e_mips-userdebug
13. mini_emulator_x86_64-userdebug
14. mini_emulator_x86-userdebug
15. aosp_dragon-userdebug
16. aosp_dragon-eng
17. aosp_flounder-userdebug
18. aosp_angler-userdebug
19. aosp_bullhead-userdebug
20. hikey-userdebug
21. aosp_shamu-userdebug
make -j8  进行编译
如果需要清理已编译的 make clean 即可


遇到的问题:

1)在进行sudo apt-get update 遇到了 如下的错误:

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB9B1D8886F44E2A
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_precise-security_restricted_binary-i386_Packages  Hash Sum mismatch

W: Failed to fetch bzip2:/var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_precise-security_universe_binary-i386_Packages  Hash Sum mismatch

W: Failed to fetch bzip2:/var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_precise-security_multiverse_binary-i386_Packages  Hash Sum mismatch

W: Failed to fetch bzip2:/var/lib/apt/lists/partial/ppa.launchpad.net_openjdk-r_ppa_ubuntu_dists_precise_main_i18n_Translation-en  Hash Sum mismatch

W: Failed to fetch bzip2:/var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_precise-security_main_i18n_Translation-en  Hash Sum mismatch

W: Failed to fetch bzip2:/var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_precise-security_universe_i18n_Translation-en  Hash Sum mismatch


初步判断是因为被和谐的原因。后来试了很多办法还是不行。就在同样环境下的系统拷贝/vat/lib/apt/lists/ 目录 (Ps:因为update后的包存放在此目录下)

拷贝完成后安装openjdk-8-jdk 安装成功

2)/bin/bash: prebuilts/misc/linux-x86/bison/bison: No such file or directory

执行如下命令安装:

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

3)如下错误:

FAILED: /bin/bash -c "(true) && (prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.1.ALPHA.jar 2>&1 || (exit 0)) && (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 || exit 0) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.1.ALPHA.jar 4.1.ALPHA 2>&1 || exit 0) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack--1.1.PRE_ALPHA.jar -1.1.PRE_ALPHA || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack--1.2.PRE_ALPHA.jar -1.2.PRE_ALPHA || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack--1.3.PRE_ALPHA.jar -1.3.PRE_ALPHA || exit 47; prebuilts/sdk/tools/jack-admin u
be6a
pdate jack prebuilts/sdk/tools/jacks/jack-2.26.RELEASE.jar 2.26.RELEASE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-3.7.ALPHA.jar 3.7.ALPHA || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-3.8.ALPHA.jar 3.8.ALPHA || exit 47)"


安装

sudo apr-get install macports

4)
JellyBean builds fail because JB uses xmllint during build:

xmllint frameworks/base/data/fonts/system_fonts.xml >/dev/null # Don't print the xml file to stdout.

/bin/bash: xmllint: command not found

make: *** [out/target/product/pandaboard/system/etc/system_fonts.xml] Error 127

make: *** Waiting for unfinished jobs....


安装apt-get install libxml2-utils

5.Android 编译报错(环境问题)QA:
Question:
"mkimage" command not found - U-Boot images will not be built
make[3]: *** [arch/arm/boot/uImage] Error 1
make[2]: *** [uImage] Error 2
make[1]: *** [sub-make] Error 2
Answer:
sudo apt-get install uboot-mkimage
Question:
g++: g++: selected multilib '32' not installed
selected multilib '32' not installed
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl] Error 1
make: *** Waiting for unfinished jobs....
make: *** [out/host/linux-x86/obj/lib/libESR_Portable.so] Error 1
Answer:
sudo apt-get install g++-4.4-multilib gcc-4.4-multilib

Question:
/usr/bin/ld: cannot find -lreadline
make: *** [out/host/linux-x86/obj/EXECUTABLES/sqlite3_intermediates/sqlite3] Error 1
make: *** Waiting for unfinished jobs....
Answer:
sudo apt-get install libreadline6-dev lib32readline6-dev

Question:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
Answer:
  sudo apt-get install libc6-dev-i386
Question:
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] error 1
Answer:
  sudo apt-get install g++-multilib
Question:
external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1
Answer:
sudo apt-get install zlib1g-dev
Question:
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
Answer:
sudo apt-get install lib32z1-dev

Question:
bison -d  -o out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
/bin/bash: bison: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 127
Answer:
sudo apt-get install bison

Question:
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
/bin/bash: flex: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127
Answer:
sudo apt-get install flex

Question:
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
Answer:
sudo apt-get install lib32ncurses5-dev

Question:
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/main-common.o] Error 1
Answer:
sudo apt-get install libx11-dev

Question:
sh: gperf: not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] Error 25
make: *** Deleting file `out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'

Answer:
sudo apt-get install gperf


http://blog.csdn.net/jacobywu/article/details/24431915
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐