`
abc20899
  • 浏览: 929109 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ubuntu11.0.4下编译Android2.3源码过程

 
阅读更多
1、权限不够遇到多次
/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够
/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够
/bin/bash: build/core/find-jdk-tools-jar.sh: 权限不够
/bin/bash: build/tools/findleaves.py: 权限不够
/bin/bash: build/tools/findleaves.py: 权限不够
Checking API: checkapi-last
/bin/bash: out/host/linux-x86/bin/apicheck: 权限不够

解决:
chmod a+x prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc
对所有没有权限的文件增加可执行权限

2.make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
在32位下编译,直接make就可以了
在64位下编译,会出一些错误,需要额外安装一些包:
     A, 没有gnu/stubs-32.h文件:
      /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: 没有该文件或目录
      make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
解决方法:
确定你的系统是x86_64 GNU/Linux
       root@mm-desktop:/home/mm/android# uname -a
       Linux mm-desktop 2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008 x86_64 GNU/Linux
安装libc6-dev-i386
     sudo apt-get install libc6-dev-i386

     B。找不到-lstdc++
     /usr/bin/ld: cannot find -lstdc++
解决方法:
安装 g++-multilib,lib32z1-dev 和 lib32ncurses5-dev
      apt-get install g++-4.2-multilib  lib32z1-dev lib32ncurses5-dev


3.make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] 错误 1
安装 g++-4.5-multilib
$ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
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 ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc



4.arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory

同事编kernel的时候总是会报下面的错误~~最后发现是交叉编译工具的权限问题,chmod -R 777 * 就可以了
arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
总结一下:
1、确认CROSS-COMPILE的目录在PATH里面
2、确认cc1是存在的
3、确认交叉编译工具的权限







摘录:

错误处理
      在Ubuntu10.10(64位)编译Android2.3源码时,遇到各种各样的问题。不是缺这个,就是少那个。现把这些问题和解决方法罗列出来,供大家参考。

错误:
/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

解决:
  sudo apt-get install libc6-dev-i386

错误:
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] error 1

解决:
  sudo apt-get install g++-multilib

错误:
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

解决:
sudo apt-get install zlib1g-dev

错误:
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1

解决:
sudo apt-get install lib32z1-dev

错误:
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

解决:
sudo apt-get install bison

错误:
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

解决:
sudo apt-get install flex

错误:
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1

解决:
sudo apt-get install lib32ncurses5-dev

错误:
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

解决:
sudo apt-get install libx11-dev

错误:
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'

解决:
sudo apt-get install gperf

错误:
build/core/java.mk:9: *** bin: Target java module does not define any source or resource files. Stop.

解决:
      删除源码根目录下的bin文件夹,这个文件夹是导入eclipse时创建的。

cannot find -lXXX
          所有编译过程中遇到的类似这样的错误,都是缺少libXXX这样的库,解决方法就是:
首先:利用命令:apt-cache search XXX 进行库搜索
然后:找那些libXXX-dev这样的库进行安装,命令就是:sudo apt-get install libXXX-dev
最后:继续执行make

生成固件

1.在源码根目录下执行一下:
. build/envsetup.sh

2.通过所有编译(make)或模块编译(mmm)

   需要使用超级用户进行编译,要不会出现一下权限问题

3.通过 export -p 查看HOME 的路径是否正确,否则修改 HOME 锁指向的路径为home/用户 中,直接 export HOME="/home/用户"
4.在“/home/用户”目录下新建文件夹 firmware
5.在Android 源码根目录下 执行./mkimage.sh

修改./mkimage.sh 中的路径指向 “/home/用户”目录下的文件夹 firmware

固件在firmware中生成
分享到:
评论

相关推荐

    将Ubuntu 11.04 化身为Mac

    标题《将Ubuntu 11.04 化身为Mac》和描述中所蕴含的知识点主要涉及Ubuntu操作系统及其定制化,特别是如何将Ubuntu桌面环境改造成类似苹果Mac OS的界面风格。文中提及了Elementary、Docky和Gloobus-Preview这三个工具...

    RichView v11.0.4 源码 全套

    《深入理解RichView v11.0.4:一套完整的源码分析》 RichView v11.0.4是一款源自俄罗斯的专业文本编辑组件,它为开发者提供了强大的富文本编辑功能,广泛应用于文档处理、报表生成以及各类软件的UI设计中。这个版本...

    JDK11源码 jdk-11.0.4 src源码

    《深入解析JDK11源码:以jdk-11.0.4-src为例》 在Java编程领域,深入理解JDK源码是提升技术能力的重要途径。JDK11作为Java开发工具包的一个重要版本,引入了许多新特性和改进,为开发者提供了更高效、更安全的编程...

    jdk11.0.4_linux_bin_64.zip

    1、解压到 /usr/local 目录下,可以自定义 tar zxvf jdk-11.0.4_linux-x64_bin.tar.gz -C /usr/local/ 2、编辑/etc/profile 设置环境变量 vi /etc/profile 在文件末尾添加 export JAVA_HOME=/usr/local/jdk-...

    oracle 11.0.4补丁包.zip

    安装这些补丁的过程通常包括下载、解压、应用补丁(通过Oracle的OPatch工具)和验证补丁是否成功安装。在执行任何补丁操作前,应备份数据库,以防万一出现问题可以恢复到未更新的状态。此外,补丁的顺序可能很重要,...

    plsql 11.0.4 安装包+语言包+注册机

    plsql 11.0.4 安装包+语言包+注册机

    jdk-11.0.4_windows-x64_bin.zip

    《Java 11 JDK 11.0.4 for Windows x64详解》 Java Development Kit(JDK)是开发和运行Java应用程序的基础,而JDK 11.0.4是Oracle公司发布的一个重要版本,针对Windows x64平台进行优化。这个压缩包文件“jdk-...

    jdk11 免费下载 / 版本号 jdk11.0.4.zip

    Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一组开发工具,使得开发者能够编写、编译、调试和运行Java应用程序。JDK 11是Oracle公司发布的Java平台标准版(Java SE)的一个重要版本,它在2018年...

    jdk-11.0.4_windows64.zip

    本文将详细介绍JDK 11.0.4的主要特点、安装过程以及如何在Windows 64位系统上配置和使用。 一、JDK 11.0.4的特点与改进 1. 新特性:JDK 11引入了模块化系统(Project Jigsaw),使得Java平台更加可维护、可扩展且...

    jdk-11.0.4_linux-x64_bin.rar

    Java Development Kit(JDK)是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。JDK11是Java的一个重要版本,它在2018年9月发布,带来了许多新特性、改进和性能优化。这个...

    plsql 11.0.4 安装包+语言包+注册机+客户端

    plsql 11.0.4 安装包+语言包+注册机,用于远程连接数据库。可直接配置客户端连接。

    jdk-11.0.4_linux-x64_bin.tar.gz

    jdk-11.0.4_linux-x64_bin.tar 直接使用,安装步骤: 1,下载完成将文件移动 /usr/local/ 并解压 tar -xvf openjdk-11+28_linux-x64_bin.tar.gz 2,重命名解压文件 mv jdk-11/ jdk11/ 3,配置环境变量,编辑文件...

    PLSQL Developer 64位(附注册码) v11.0.4 官方中文版

    PLSQL Developer 64位(附注册码) v11.0.4 官方中文版 PLSQL Developer是一个为Oracle数据库开发存储程序单元的集成开发环境(IDE),使用PLSQL Developer,你能方便地创建你的客户端/服务器应用程序的服务器部分。

    jdk11.0.4-64bit

    jdk11.0.4下载资源,jdk11.0.4下载资源,jdk11.0.4下载资源,jdk11.0.4下载资源,jdk11.0.4下载资源,jdk11.0.4下载资源

    jdk-11.0.4-64bit.zip jdk-11版本

    jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-...

    electron打包错误的问题: Get "/11.0.4/electron-v11.0.4-win32-x64.zip"

    electron的2020年12月11日最新的electron-v11.0.4-win32-x64.zip包,由于打包的时候要到Github上下载这个资源特变慢,而且没有这个包会打包失败。 用法是:将文件复制到这个路径:C:\Users\dong\AppData\Local\...

    PLSQL Developer11.0.4x64中文版(附注册机和详细安装配置教程)

    总的来说,PLSQL Developer11.0.4x64中文版提供了一站式的解决方案,让用户能够在不依赖完整Oracle客户端的情况下高效地管理和开发Oracle数据库。结合提供的注册机和安装配置教程,用户可以快速上手并充分利用这款...

Global site tag (gtag.js) - Google Analytics