`
isiqi
  • 浏览: 16561488 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

android在ubuntu桌面系统下编译可能的错误和解决方法

阅读更多

Ubuntu9.10默认安装的纯净系统,没装任何其他软件。

  1.下载源码android-2.1_r2,直接make

  2.出错及解决如下:

  (1)/bin/bash: bison: command not found

  解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install bison

  (2)make: *** No rule to make target `Please-install-JDK-5.0,-update-12-or-higher,-which-you-can-download-from-java.sun.com',

  needed by `out/target/common/docs/api-stubs-timestamp'. Stop.

  解决:安装JDK 5.0

  1):根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了,所以这里我们使用jdk5

  2): 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list

  3): 在source.list里把以下2行拷贝到文档最后面:

  deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

  deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

  保存退出。

  4): 执行 sudo apt-get update 更新源.

  5): 配置编译环境并下载JDK5:sudo apt-get install sun-java5-jdk

  (3)/bin/bash: g++: command not found

  make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/pseudolocalize.o] Error 127

  解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install build-essential

  (4)external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory

  external/clearsilver/cgi/cgi.c: In function ‘cgi_compress’:

  external/clearsilver/cgi/cgi.c:885: error: ‘z_stream’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:885: error: (Each undeclared identifier is reported only once

  external/clearsilver/cgi/cgi.c:885: error: for each function it appears in.)

  external/clearsilver/cgi/cgi.c:885: error: expected ‘;’ before ‘stream’

  external/clearsilver/cgi/cgi.c:888: error: ‘stream’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:888: error: ‘Bytef’ undeclared (first use in

this function)

  external/clearsilver/cgi/cgi.c:888: error: expected expression before ‘)’ token

  external/clearsilver/cgi/cgi.c:889: error: ‘uInt’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:889: error: expected ‘;’ before ‘str’

  external/clearsilver/cgi/cgi.c:890: error: expected expression before ‘)’ token

  external/clearsilver/cgi/cgi.c:892: error: ‘uLong’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:892: error: expected ‘)’ before ‘stream’

  external/clearsilver/cgi/cgi.c:895: error: ‘alloc_func’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:895: error: expected ‘;’ before numeric constant

  external/clearsilver/cgi/cgi.c:896: error: ‘free_func’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:896: error: expected ‘;’ before numeric constant

  external/clearsilver/cgi/cgi.c:897: error: ‘voidpf’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:897: error: expected ‘;’ before numeric constant

  external/clearsilver/cgi/cgi.c:900: error: ‘Z_DEFAULT_COMPRESSION’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:900: error: ‘Z_DEFLATED’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:900: error: ‘MAX_WBITS’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:900: error: ‘Z_DEFAULT_STRATEGY’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:901: error: ‘Z_OK’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:904: error: ‘Z_FINISH’ undeclared (first use in this function)

   external/clearsilver/cgi/cgi.c:905: error: ‘Z_STREAM_END’ undeclared (first use in this function)external/clearsilver/cgi/cgi.c: In function ‘cgi_output’:

  external/clearsilver/cgi/cgi.c:1200: error: ‘Z_NULL’ undeclared (first use in this function)

  external/clearsilver/cgi/cgi.c:1201: error: expected ‘)’ before ‘Bytef’

  external/clearsilver/cgi/cgi.c:1218: error: ‘Z_DEFLATED’ undeclared (first use in this function)

  make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1

  解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install zlib1g-dev

  (5)/bin/bash: flex: command not found

  make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127

  解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install flex

  (6)/usr/bin/ld: cannot find -lncurses

  collect2: ld returned 1 exit status

  make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1

  解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install libncurses-dev

  (7)prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55:22: error: X11/Xlib.h: No such file or directory

  prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:56:23: error: X11/Xatom.h: No such file or directory

  In file included from external/qemu/android/skin/window.c:19:

  prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:73: error: expected specifier-qualifier-list before ‘XEvent’

  prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:86: error: expected specifier-qualifier-list before ‘Display’

  make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/skin/window.o] Error 1

  解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install libx11-dev

  (8)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'

  解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install gperf

   http://hi.baidu.com/maxgoto/blog/item/fa000f7bf01135f80ad187d8.html最近下载 了Android 2.1源码,在Ubuntu 9.10上做了一次编译,由于系统为纯净系统,之前没有进行过任何Android的编译,所以需先安装一些必要软件。编译过程参考网上一些文章,做下笔记 如下,以供参考:

1. 下载或更新Android源码 至最新,截止到前天(04-09)好像是2.1-r2.

2. Android 要求的 jdk 1.5,而Ubuntu9.10的源里只有JDK1.6. 目前网上解决方法有两种:
解决方法一: 安装JDK1.5
1) 根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了,所以这里我们使用jdk5
2) 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list
3) 在source.list里把以下2行拷贝到文档最后面:
debhttp://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
debhttp://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
保存退出。
4) 执行 sudo apt-get update 更新源.
5)配置编译环境并下载JDK5:sudo apt-get install sun-java5-jdk

解决方法二: 安装JDK 1.6 , 修改Android源文件。
1) 安装jdk 1.6,修改<src_top/build/core/make.mk>(如果2.0版本源码请修改<src_top/build/core/main.mk>)
在文件中搜索并分别把:
java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1.5[. "$$]')
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1.5[. "$$]')
两行改成:
java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1.6[. "$$]')
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1.6[. "$$]')
即可。
推荐使用第一种解决方法。

3.安装编译过程中必需软件 。根据网上高人的经验,这是编译的最小工具软件集。
$sudo apt-get install build-essential
$sudo apt-get install zlib1g-dev
$sudo apt-get install flex
$sudo apt-get install libncurses-dev
$sudo apt-get install libx11-dev
$sudo apt-get install gperf

4.make .经过漫长的编译过程,编译成功。

分享到:
评论

相关推荐

    ubuntu下的kodi(XBMC)编译

    标题中的“ubuntu下的kodi(XBMC)编译”指的是在Ubuntu操作系统环境下,对Kodi(以前称为XBMC,Xbox Media Center)媒体中心软件进行源代码编译的过程。Kodi是一款开源的多媒体中心应用,它能播放各种音频、视频格式...

    ijkplayer的默认.so包,ubuntu下编译的

    在"ijkplayer编译的so_20171211"这个压缩包中,很可能包含了ijkplayer在Ubuntu系统下编译得到的动态链接库文件和其他相关配置文件。为了在项目中使用这个.so包,开发者需要确保他们的开发环境符合ijkplayer的系统...

    Ubuntu系统中下载并编译Android源代码.pdf

    ### Ubuntu系统中下载并编译Android源代码 #### 一、Ubuntu操作系统简介 ...此外,使用虚拟机安装Ubuntu和编译Android源代码也为学习者提供了一个安全、可控的环境,可以在其中自由探索而不用担心破坏现有系统。

    Android_Build_Environment_on_Ubuntu_12.04_64-bit_Installation_SOP.pdf

    综上所述,该文档是为开发者提供在Ubuntu系统上设置Android编译环境的详细步骤和指南,尤其适用于MTK平台的开发者,但其原理和方法同样可以推广至其他平台。文档强调了软件依赖、系统配置、以及对操作系统的具体要求...

    Android_Build_Environment_on_Ubuntu_14.04_64-bit_Installation_SOP.pdf

    例如,可以选择安装wine-1.1.33和xrdp,这些工具使得在Windows环境下通过远程桌面连接到Ubuntu系统成为可能。具体来说,wine工具可以让Ubuntu运行一些Windows应用程序,而xrdp则是一个远程桌面协议服务器,允许远程...

    Ubuntu-32位机安装编译Android2.3源码及内核.doc

    总结来说,要在Ubuntu 32位机上安装和编译Android 2.3源码及内核,需要遵循上述步骤,每个环节都可能遇到挑战,但只要仔细操作并根据错误提示解决问题,就能够成功完成这一复杂的过程。对于那些想要深入了解Android...

    arm 鲁班猫LubanCat-RK3588 Ubuntu20.04 源码编译安装opencv20.04

    在本文中,我们将深入探讨如何在基于ARM架构的鲁班猫LubanCat-RK3588设备上,运行Ubuntu 20.04操作系统,进行OpenCV 4.7.0的源码编译与安装。OpenCV(开源计算机视觉库)是一个广泛应用于图像处理、计算机视觉和机器...

    Ubuntu下搭建Android开发环境

    Ubuntu基于Debian发行版和GNOME桌面环境构建,每六个月更新一次,致力于提供最新且稳定的自由软件操作系统。 选择Ubuntu进行Android开发的原因在于: 1. **开源与自由**:Ubuntu严格遵循开源原则,为开发者提供了...

    快速搭建android5.1系统源码编译环境.docx

    Android源码编译通常需要一个Linux环境,这里推荐使用Ubuntu 64位桌面版,因为其稳定性与兼容性较好。在Ubuntu官网下载对应版本的ISO镜像,然后按照安装向导进行安装。安装完成后,确保系统是最新的,可以通过运行`...

    搭建Android系统开发环境

    - **安装Ubuntu**:通过安装VirtualBox虚拟机并导入E-Mobile.vdi镜像,可以在现有的操作系统上搭建一个Ubuntu虚拟环境,从而避免了物理机硬件的限制和可能的风险。 #### Ubuntu的使用与命令详解 在Ubuntu环境中,...

    让Qt应用程序跑在Android上

    尽管在配置和调试过程中可能会遇到一些挑战,但通过熟悉Qt for Android的工作原理和解决问题的方法,开发者能够成功地让Qt应用程序在Android上顺畅运行。对于那些希望涉足Android开发而又不想学习新语言的C++程序员...

    Android版编译指导1

    【Android版编译指导1】主要讲解了在Windows和Ubuntu环境下如何搭建Qt环境,并进行Android应用的编译和运行。以下是对这些知识点的详细说明: 1. **Qt安装包**: - Qt是跨平台的应用程序开发框架,适用于开发桌面...

    MTK6573-ubuntu10 .10-0801比较工具远程桌面中文乱码问题.docx

    描述部分未给出具体信息,但我们可以推测是关于如何在Windows XP和Ubuntu 10.10双系统环境下,建立一个针对Android开发的环境,特别是对于MTK6573平台的项目。下面我们将详细探讨这个过程: 首先,安装Ubuntu 10.10...

    MTK6573-ubuntu10 .10-0801比较工具远程桌面中文乱码问题.pdf

    本文档主要介绍了在Windows XP和Ubuntu 10.10双系统环境下搭建Android开发环境的步骤,包括以下几个关键知识点: 1. **安装Ubuntu系统**: 使用DAEMON Tools Lite虚拟镜像工具安装Ubuntu 10.10 Desktop版ISO镜像,...

    Android中ADW源代码的同步和编译(windows版)

    - 默认情况下,ADW Launcher的包名为`com.android.Launcher`,与系统默认Launcher的包名相同,会导致编译错误。 - 解决方案: - 修改包名(例如改为`com.android.adwLauncher`)。 - 清理项目(`Project`-&gt;`Clean...

    How to compile Amalgamation for android

    - **操作系统**:Ubuntu 14.04 64位桌面版 - **NDK版本**:android-ndk-r13b 或 android-ndk-r14b - **编译器**:arm-linux-androideabi-clang++ - **MXNet版本**:v0.10.0 或 v0.9.3 - **MXNet提交哈希**:*master...

    Ubuntu 11.04 搭建Android开发环境

    在本篇文章中,我们将详细介绍如何在 Ubuntu 11.04 上搭建一个完整的 Android 应用开发环境。这将涵盖 Eclipse 的安装、Android SDK 的配置、PhoneGap 的集成以及如何通过命令行和图形界面工具来构建和测试 Android ...

Global site tag (gtag.js) - Google Analytics