编译android4.0错误总结
条件:64bit win7下VMware安装ubuntu-12.04 编译android4.0源码
no.1
/bin/bash: prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gcc: 没有那个文件或目录
/bin/bash: prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gcc: 没有那个文件或目录
/bin/bash: prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gcc: 没有那个文件或目录
/bin/bash: bison: 未找到命令
http://blog.sina.com.cn/s/blog_4e7453df01012r51.html
直接输入命令sudo apt-get install lsb-core能解决
no.2
sudo apt-get update
sudo apt-get -y install git-core
sudo apt-get -y install gnupg
sudo apt-get -y install sun-java6-jdk flex
sudo apt-get -y install bison
sudo apt-get -y install gperf
sudo apt-get -y install libsdl-dev
sudo apt-get -y install libesd0-dev
sudo apt-get -y install libwxgtk2.6-dev
sudo apt-get -y install build-essential
sudo apt-get -y install zip
sudo apt-get -y install curl
sudo apt-get -y install libncurses5-dev
sudo apt-get -y install zlib1g-dev
sudo apt-get -y install valgrind
vmware安装ubuntu12.04(64)编译android4.0源码产生的错误及解决方法
no.3
.usr/include/features.h:324:26: 致命错误: bits/predefs.h:没有那个文件或目录
编译中断。
问题都是由于gcc版本是4.6.1,版本太高,编译android时出错,要把gcc版本改为4.4.3。
废话不多说了,直接写解决方法吧;
ubuntu 系统下安装gcc 4.4的方法是仅用以下两条命令。
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
装完后在/usr/bin目录下
$ ls -l gcc*
lrwxrwxrwx 1 root root 7 2011-10-29 09:11 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6
这时会发现gcc 链接到gcc-4.6, 需要将它改为链接到gcc-4.4 :
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
同理
ls -l g++*
lrwxrwxrwx 1 root root 7 2011-08-14 15:17 g++ -> g++-4.6
-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4
-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6
需要将g++链接改为g++-4.4:
/usr/bin$ sudo mv g++ g++.bak
/usr/bin$sudo ln -s g++-4.4 g++
再查看gcc和g++版本号:
gcc -v
g++ -v
http://blog.csdn.net/suwenqiang_2011/article/details/7765934
no.4
.In file included from /usr/include/stdlib.h:25,
from build/tools/acp/acp.c:11:
/usr/include/features.h:324: fatal error: bits/predefs.h: 没有那个文件或目录
输入sudo apt-get install gcc-multilib 即可
http://code.google.com/p/gmlive/issues/detail?id=52
no.5
.make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] 错误 1
解决:sudo apt-get install g++-multilib
http://www.360doc.com/content/12/0602/16/6828497_215429231.shtml
no.6
g++: selected multilib '32' not installed
sudo apt-get install g++-4.4-multilib
http://www.linuxidc.com/Linux/2011-11/47642.htm
no.7
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] 错误 1
sudo apt-get install lib32z1-dev
http://zhidao.baidu.com/link?url=MMpPuUlStBj2IG2IMjg2PdyBEjxDg5UqA_JuGJ48XQMT1WDYLfoDfdkgT4NC_3GS9a2gvu2oNT_OC7PD_Fbcfq
no.8
.make: *** [out/target/common/docs/doc-comment-check-timestamp] 错误 45
解决方法:需要做个链接如下:
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/jar /bin/jar
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/java /bin/java
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/javac /bin/javac
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/javah /bin/javah
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/javadoc /bin/javadoc
这个解决方法和网上大多数的不一样。网上很多针对这个问题的,都是在android2.3源代码遇到的,需要修改4个文件,而这4个文件,在android4.0源代码中,根本没有。
http://www.linuxidc.com/Linux/2013-04/82816.htm
no.9
.make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] 错误 1
sudo apt-get install lib32ncurses5-dev
http://www.myexception.cn/android/1456297.html
no.10
make: *** [out/host/linux-x86/obj/lib/libOpenglRender.so] 错误 1
host StaticLib: libOpenglCodecCommon (out/host/linux-x86/obj/STATIC_LIBRARIES/libOpenglCodecCommon_intermediates/libOpenglCodecCommon.a)
host SharedLib: libOpenglRender (out/host/linux-x86/obj/lib/libOpenglRender.so)
/usr/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libOpenglRender.so] 错误 1
首先安装这两个库文件的32位版本:
$ sudo apt-get install libx11-dev:i386(libX11.so)
$ sudo apt-get install libgl1-mesa-glx:i386 (libGL.so)
由于libGL.so系统默认没有进行库路径下的链接,还需要手动链接一下
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
http://lostghoul.blog.163.com/blog/static/111721999201344637339/
no.11
.make: *** [out/host/linux-x86/obj/lib/libGLES_CM_translator.so] 错误 1
no.10已解决
http://lostghoul.blog.163.com/blog/static/111721999201344637339/
no.12
.target Generated: libbcc <= frameworks/compile/libbcc/tools/gen-build-stamp.py
Traceback (most recent call last):
File "frameworks/compile/libbcc/tools/gen-build-stamp.py", line 143, in <module>
main()
File "frameworks/compile/libbcc/tools/gen-build-stamp.py", line 96, in main
build_rev = get_repo_revision(repo_dir)
File "frameworks/compile/libbcc/tools/gen-build-stamp.py", line 24, in get_repo_revision
cwd=repo_dir)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libbcc_intermediates/libbcc-stamp.c] 错误 1
make: *** 正在删除文件“out/target/product/generic/obj/SHARED_LIBRARIES/libbcc_intermediates/libbcc-stamp.c”
sudo apt-get install git-core
http://blog.163.com/fj_ltls/blog/static/138027111201171553832752/
no.13
.collect2: ld returned 1 exit status
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libbcc_intermediates/LINKED/libbcc.so] 错误
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
解决方法:apt-get install lib32z1-dev
ps:
第一次编译:解压后直接在根目录下make,报一堆错误,no.1-no.13(排除no.2,no.2不是错误,是操作),百度谷歌找解决方案,卡在看no.13,网上的方案都解决不了,自己没有能力解决,只能放弃。
第二次编译:扩大ubuntu的分配空间,重新安装。在报no.1错误后执行no.2,并预先将先前遇到的各种问题解决方法走一遍,编译成功,耗时20小时?(晚上待机状态不确定是否继续编译)
转载于:https://www.cnblogs.com/flv587/p/3503566.html
- 点赞
- 收藏
- 分享
- 文章举报
- android 启动服务播放音乐
- cordova build android 报错
- Ubuntu下Android真机调试
- Android语音控制录音APP——根据音量大小自动记录
- android列表edittext使用TextWatcher数据混乱问题
- Android自定义View(一)
- Android布局之LinearLayout
- Android Studio基本使用及创建module
- Android 开发环境配置
- 使用PreferenceActivity和xml快速简便地构造Android风格的设置界面
- 解决Android Studio中模拟器无法上网的问题
- 【Android基础】UI布局
- 【Android基础】UI控件
- 【Android基础】fragment
- 【Android基础】ViewPager
- android 电话监听和拦截
- SVN在AndroidStudio中的使用(一),SVN安装配置和项目检出更新
- SVN在AndroidStudio中的使用(二),文件忽略、服务器连接和项目上传
- SVN在AndroidStudio中的使用(四),分支创建和切换、分支主干合并、分支之间合并和冲突解决
- Android VideoView简单播放视频