- 浏览: 517371 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
lin_kk:
最近正在学,请问LZ有源码事例吗,如果有能发一下我邮箱吗,万分 ...
使用libgdx及其中的box2d 2.1的注意事项 -
ahong520:
编译都通不过
ffmpeg对音频解码的一般步骤 -
辽东小小:
yajun_soft 写道XXX@XXX:~$ adb she ...
adb push的Permission denied -
cdtdx:
好文, 相当不错啊. 收了.
什么是app2sd,app2ext,data2ext?app移动到SD卡哪里去了? /mnt/asec /mnt/secure -
dickycat:
学习了,最近正在学这一块,年纪大了,学起来有点吃亏!
使用libgdx及其中的box2d 2.1的注意事项
源码2.1G,加上编译后的文件需要6G左右的空间。CPU内存越快越多越好。如果在虚拟机里要求会更高些,CPU频率少于2G,内存少于2G的到后面估计会比较痛苦。
官网上只给了ubuntu的源代码下载、编译方法。前面的准备工作可以参考一下。
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
上面这些是要提前安装的软件包。其中sun-java5-jdk要换最新的JDK6,其他的自己用yum检查吧。Fedora的yum源里有些东西没有, 还有一些名称和ubuntu的不一样,上面那些东西如果能找到对应的Fedora名称提前安装更好,找不到也不怕,后面痛苦点,make时根据错误提示去 找自己系统中还缺什么。
官网上说要用JDK5,JDK6不支持。
JDK 5.0, update 12 or higher.Java 6 is not supported, because of incompatibilities with @Override.
不理它,应该是说Android2.1,我在8月初下载的2.2版源代码编译时要用JDK6才行。
但实际上用JDK6编译时被强制要求用64位系统,用32位系统的解决方法在后面。
Python 2.4, which you can download from python.org.
JDK 5.0, update 12 or higher, which you can download from java.sun.com. Java 6 is not supported, because of incompatibilities with @Override.
Git 1.5.4 or newer. You can find it at http://git.or.cz/.
这是官网对ubuntu以外的linux发行版的要求,除了JDK5之外其他两项都要满足。Python一般装好系统后都有,没有的话yum获取也比较方便。Git要去上面的地址下载。
可以下载RPM包安装,我下载的源代码编译安装的。make时记得也有一些错误,根据提示把缺少的东西yum补上就行。
再接下来就是按照官网安装配置repo获取当前最新版本的Android源码。根据网速,慢慢等吧。
下好源代码可以make了,下面是我make时遇到的错误和解决方法,也算是走过的弯路,这些软件包如果提前都安装好了基本上可以一次make搞定。
make时用Fedora便签做的简单记录,懒得再整理了,直接粘贴过来。
1. /bin/bash: bison: command not found
解决:yum install bison*
2. /bin /bash: g++: command not found
解决:yum install gcc-c++
3. external/qemu/Makefile.android:1101: 警告:覆盖关于目标“external/qemu/android/avd/hw-config-defs.h”的命令
external/qemu/Makefile.android:933: 警告:忽略关于目标“external/qemu/android/avd/hw-config-defs.h”的旧命令
两个警告,估计可以忽略
4. 一大堆关于java的警告错误,难道真的要把JDK降到5.0?
(其实可以不用降级,用JDK6编译的方法在最下边)
解决:
先卸载原来的6.0:yum -e jdk-1.6.0_21-fcs.i586
进入JDK5的下载目录运行:
./jdk-1_5_0_22-linux-i586-rpm.bin
安装完后设置环境变量,要在/etc/profile中设置,.bashrc里设置的不起作用。注销重新登录。
重新make,警告一大堆,不过看似还可以继续进行下去。。。
5. /bin/bash: flex: command not found
解决:
yum -y install flex
6. /usr/bin/ld: cannot find -lncurses
解决:
yum install ncurses-devel
7. prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55:22: 错误:X11/Xlib.h:没有那个文件或目录
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:56:23: 错误:X11/Xatom.h:没有那个文件或目录
In file included from external/qemu/android/main.c:30:
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:73: 错误:expected specifier-qualifier-list before ‘XEvent’
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:86: 错误:expected specifier-qualifier-list before ‘Display’
external/qemu/android/main.c: 在函数‘main’中:
external/qemu/android/main.c:1281: 警告:隐式声明函数‘audio_check_backend_name’
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/mai
解决:
yum install libX11-devel.i686
顺便再根据http://scfofo.iteye.com/blog/696676 的提示再安装gperf(yum install gperf)
8. /usr/bin/ld: cannot find -lhistory
看来fedora中缺的东西不算少
解决:
yum install readline-devel
这次make了两个多小时,中间时不时的从网页切换的控制台看看怎么还不出错,最后竟然make完成了。。。。先睡一小会2010年08月02日 星期一 16时29分51秒
启动模拟器查看编译好的Android:
先设置环境变量,在/etc/profile中加入:
export ANDROID_PRODUCT_OUT=/home/xx/work/mydroid/out/target/product/generic
注销重新登录
打开终端,切换到root,进入out/host/linux-x86/bin
运行./emulator
关于emulator参数可参考 http://book.51cto.com/art/200912/173721.htm
重新make
上次make是在root下,向eclipse里面导入源代码,还有运行模拟器时也都要root权限。删了out文件夹重新make
这次make中重新认识了编译android2.2源代码对java版本的要求。
官网中的说明是针对android2.1的,编译android2.2需要jdk1.6而不是1.5,但它只检查一次,下次make只要不clean就不 会再检查,这也是上回可以用jdk1.5编译完场的原因。但用jdk1.6编译要求OS是64位的,是在extemal下clearsilver模块中的 Android.mk中做了强制限定。这个模块看起来是开发网页模板的,具体可以看其文件夹下的README文件。但为什么用JDK1.6就一定要用64 位版本编译就不清楚了。
解决方法:
1) 先设置系统默认JDK为1.6,make到external/clearsilver/java-jni/文件夹下会出错退出,这时换JDK1.5(换好后需要注销重新登录),再次直接make,不要make clean。
2) 如果一定要用JDK1.6则需要改几个Android.mk文件。如下:
参见:http://androidforums.com/android-developers/115959-ubuntu-10-04-android-open-source-make-error.html
把external/clearsilver/cgi/Android.mk, external/clearsilver/java-jni/Android.mk, external/clearsilver/util/Android.mk, external/clearsilver/cs/Android.mk.
下面脚本中的ifneq改为ifeq可暂时规避问题
# This forces a 64-bit build for Java6
ifneq ($(filter 1.6%,$(java_version)),)
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
endif
官网上只给了ubuntu的源代码下载、编译方法。前面的准备工作可以参考一下。
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
上面这些是要提前安装的软件包。其中sun-java5-jdk要换最新的JDK6,其他的自己用yum检查吧。Fedora的yum源里有些东西没有, 还有一些名称和ubuntu的不一样,上面那些东西如果能找到对应的Fedora名称提前安装更好,找不到也不怕,后面痛苦点,make时根据错误提示去 找自己系统中还缺什么。
官网上说要用JDK5,JDK6不支持。
JDK 5.0, update 12 or higher.Java 6 is not supported, because of incompatibilities with @Override.
不理它,应该是说Android2.1,我在8月初下载的2.2版源代码编译时要用JDK6才行。
但实际上用JDK6编译时被强制要求用64位系统,用32位系统的解决方法在后面。
Python 2.4, which you can download from python.org.
JDK 5.0, update 12 or higher, which you can download from java.sun.com. Java 6 is not supported, because of incompatibilities with @Override.
Git 1.5.4 or newer. You can find it at http://git.or.cz/.
这是官网对ubuntu以外的linux发行版的要求,除了JDK5之外其他两项都要满足。Python一般装好系统后都有,没有的话yum获取也比较方便。Git要去上面的地址下载。
可以下载RPM包安装,我下载的源代码编译安装的。make时记得也有一些错误,根据提示把缺少的东西yum补上就行。
再接下来就是按照官网安装配置repo获取当前最新版本的Android源码。根据网速,慢慢等吧。
下好源代码可以make了,下面是我make时遇到的错误和解决方法,也算是走过的弯路,这些软件包如果提前都安装好了基本上可以一次make搞定。
make时用Fedora便签做的简单记录,懒得再整理了,直接粘贴过来。
1. /bin/bash: bison: command not found
解决:yum install bison*
2. /bin /bash: g++: command not found
解决:yum install gcc-c++
3. external/qemu/Makefile.android:1101: 警告:覆盖关于目标“external/qemu/android/avd/hw-config-defs.h”的命令
external/qemu/Makefile.android:933: 警告:忽略关于目标“external/qemu/android/avd/hw-config-defs.h”的旧命令
两个警告,估计可以忽略
4. 一大堆关于java的警告错误,难道真的要把JDK降到5.0?
(其实可以不用降级,用JDK6编译的方法在最下边)
解决:
先卸载原来的6.0:yum -e jdk-1.6.0_21-fcs.i586
进入JDK5的下载目录运行:
./jdk-1_5_0_22-linux-i586-rpm.bin
安装完后设置环境变量,要在/etc/profile中设置,.bashrc里设置的不起作用。注销重新登录。
重新make,警告一大堆,不过看似还可以继续进行下去。。。
5. /bin/bash: flex: command not found
解决:
yum -y install flex
6. /usr/bin/ld: cannot find -lncurses
解决:
yum install ncurses-devel
7. prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55:22: 错误:X11/Xlib.h:没有那个文件或目录
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:56:23: 错误:X11/Xatom.h:没有那个文件或目录
In file included from external/qemu/android/main.c:30:
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:73: 错误:expected specifier-qualifier-list before ‘XEvent’
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:86: 错误:expected specifier-qualifier-list before ‘Display’
external/qemu/android/main.c: 在函数‘main’中:
external/qemu/android/main.c:1281: 警告:隐式声明函数‘audio_check_backend_name’
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/mai
解决:
yum install libX11-devel.i686
顺便再根据http://scfofo.iteye.com/blog/696676 的提示再安装gperf(yum install gperf)
8. /usr/bin/ld: cannot find -lhistory
看来fedora中缺的东西不算少
解决:
yum install readline-devel
这次make了两个多小时,中间时不时的从网页切换的控制台看看怎么还不出错,最后竟然make完成了。。。。先睡一小会2010年08月02日 星期一 16时29分51秒
启动模拟器查看编译好的Android:
先设置环境变量,在/etc/profile中加入:
export ANDROID_PRODUCT_OUT=/home/xx/work/mydroid/out/target/product/generic
注销重新登录
打开终端,切换到root,进入out/host/linux-x86/bin
运行./emulator
关于emulator参数可参考 http://book.51cto.com/art/200912/173721.htm
重新make
上次make是在root下,向eclipse里面导入源代码,还有运行模拟器时也都要root权限。删了out文件夹重新make
这次make中重新认识了编译android2.2源代码对java版本的要求。
官网中的说明是针对android2.1的,编译android2.2需要jdk1.6而不是1.5,但它只检查一次,下次make只要不clean就不 会再检查,这也是上回可以用jdk1.5编译完场的原因。但用jdk1.6编译要求OS是64位的,是在extemal下clearsilver模块中的 Android.mk中做了强制限定。这个模块看起来是开发网页模板的,具体可以看其文件夹下的README文件。但为什么用JDK1.6就一定要用64 位版本编译就不清楚了。
解决方法:
1) 先设置系统默认JDK为1.6,make到external/clearsilver/java-jni/文件夹下会出错退出,这时换JDK1.5(换好后需要注销重新登录),再次直接make,不要make clean。
2) 如果一定要用JDK1.6则需要改几个Android.mk文件。如下:
参见:http://androidforums.com/android-developers/115959-ubuntu-10-04-android-open-source-make-error.html
把external/clearsilver/cgi/Android.mk, external/clearsilver/java-jni/Android.mk, external/clearsilver/util/Android.mk, external/clearsilver/cs/Android.mk.
下面脚本中的ifneq改为ifeq可暂时规避问题
# This forces a 64-bit build for Java6
ifneq ($(filter 1.6%,$(java_version)),)
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
endif
发表评论
-
编译XT720 gingerbread
2013-05-04 11:18 867在android根目录下执行". build/env ... -
编译mx 内核成功
2013-03-18 17:48 875转 : http://hi.baidu.com/_xi ... -
ubuntu下面找不到ZTE V880设备
2012-12-06 16:22 839两种方法:第一种方法是你连上你的手机,重启电脑,再adb de ... -
Android中解决图像解码导致的OOM问题
2012-10-01 18:41 819http://7dot9.com/2011/08/androi ... -
编译Android下纯C的静态程序,undefined reference to raise
2012-07-08 23:28 2375尝试在Android下编译纯C的静态程序,执行gcc -v - ... -
开发Android下纯C程序时,打开时提示not found
2012-07-08 20:09 1381这个问题烦了我一天了..郁闷.本人想试验一下使用ndk里面的t ... -
NDK报错:make: *** 没有规则可以创建“obj/local/armeabi/objs/a/a.o”需要的目标“/a.c”。 停止。
2012-07-05 21:02 2179android开发用ndk编译so库时,有时直接从别的地 ... -
adb push的Permission denied
2012-05-30 17:19 3662遇到的问题是 zhanglanyun@zhanglan ... -
adb pull失败问题解决方法
2012-05-30 17:03 2187问题:使用adb pull命令从android系统中读取文件失 ... -
关于app2sd、a2sd、data2sd、a2sd+的区别的解释
2012-05-17 11:47 1067因为看到很多机友对这个概念不理解。首先解释一下这些缩写,全部的 ... -
什么是app2sd,app2ext,data2ext?app移动到SD卡哪里去了? /mnt/asec /mnt/secure
2012-05-17 10:56 3373Google Android手机的软件为了安全性和稳定性 ... -
android 如何自定义ProgressBar
2012-04-22 15:39 1915原文:http://blog.sina.com.cn/s/bl ... -
修改MAC,没有nvs_map.bin时该怎么做
2012-04-10 16:53 1826Basically: nvs_map.bin is what ... -
Android Activity LaunchMode 验证
2012-03-31 11:23 914在Android中,每个Activity有4种LaunchMo ... -
Android改变MAC地址
2012-03-30 13:42 21751.Find out your original MAC ad ... -
C通过JNI 层调用Java的静态和非静态方法
2012-03-26 09:47 39571、主要流程 1、 新建一个测试类TestProv ... -
使用ndk或linux下独立交叉编译(ffmpeg)
2012-03-18 21:48 23051、ndk 编译程序 在NDK的apps目录下创建he ... -
android-ndk-r7 编译 ffmpeg-0.10
2012-03-18 21:46 4603看了这篇文章 http://blog.sina.com ... -
android2.3 MODIFY_PHONE_STATE
2012-02-27 22:14 3065一直被一些莫名其妙的电话骚扰,而且只响两声就断了,一直 ... -
Androidmanifest.xml里的<uses-feature>
2011-12-27 17:10 1366如果你是一个Android用户,而且你有一个老旧的安装有and ...
相关推荐
- **下载编译相关工具**:由于编译Android系统涉及到众多工具,而这些工具可能并未随Fedora 13一起安装,因此需要额外安装或更新。具体工具包括但不限于`make`、`gcc`、`g++`、`git`等。 #### 移植步骤 - **编译x-...
使用库libusb-1.0.9在fedora18下编译,并测试程序,
在Fedora下交叉编译出得可执行exe文件。其中包括remote-viewer.exe,spicy.exe,spicy-screenshot.exe,spicy-stats.exe,virt-viewer.exe,windows-cmdline-wrapper.exe。
这个过程虽然复杂,但通过这种方式,开发者可以在Fedora 13环境下获得完整的Android源代码,以便于进行定制化开发或者进行Android系统的深入学习。对于任何想要深入了解Android操作系统的开发者来说,这是一个必要的...
### Fedora内核编译的实现 #### 实验背景与目的 本文旨在介绍如何在Fedora 10系统中实现内核的编译过程。通过这一实验,我们可以深入了解Linux内核的工作原理及其定制方法,这对于系统管理员及开发人员来说至关...
本文将详细解析如何在Fedora 11系统下编译适用于ARM-Linux的交叉工具链,这个问题曾困扰作者四天之久。通过借鉴前人的经验和使用crosstool脚本来实现这一过程。 首先,交叉工具链是用于在一个平台(例如,基于Intel...
在Fedora Linux环境下进行内核编译,我们可以学到许多关于Linux系统和内核编译的知识点。 首先,编译Linux内核是一个多步骤的过程,主要包括以下几个步骤:下载解压Linux内核源码、安装软件依赖包、清除编译过程中...
在Linux环境下,特别是Fedora 13操作系统中,Qt是一个非常重要的开源开发框架,用于创建图形用户界面和其他软件应用程序。本文将详细介绍如何在Fedora 13上安装和配置Qt开发环境,包括QT和QTE。 首先,让我们了解Qt...
"ffmpeg 0.5源码,fedora 8编译通过"表明这是一个针对Fedora 8发行版的FFmpeg版本,已经成功地完成了编译过程,意味着用户可以在该系统上直接使用或进一步定制FFmpeg。 FFmpeg的核心功能包括: 1. **编码**:支持...
5. **启动Android模拟器**:编译完成后,可以在`out/host/linux-x86/bin`目录下找到`emulator`可执行文件,使用以下命令启动模拟器: ``` ./emulator -debug-kernel -debug-init ``` 添加的`-debug-kernel`和`-...
【Fedora13硬盘安装教程】是一篇针对Linux爱好者或新手的详细指南,旨在帮助用户在Windows XP环境下通过硬盘安装Fedora13操作系统。硬盘安装是避免使用光盘或者USB驱动器的一种方法,尤其适用于已经拥有Linux系统...
标题和描述中提到的关键点是“在Fedora下能用”和“不用编译,直接使用”,这暗示DNW2提供了预编译的二进制版本,用户可以直接安装和运行,而无需经历编译源代码的过程。 在Linux系统中,特别是对于开发者和高级...
在Fedora操作系统环境下,使用Android NDK进行原生C/C++开发是一项常见的需求,特别是对于需要利用硬件加速或实现高性能计算的应用来说。Android NDK(Native Development Kit)是一套工具,允许开发者在Android应用...
《Fedora13用户手册》是专为Fedora13操作系统设计的一份详尽的指导文档,由Fedora文档项目团队编写,旨在帮助用户,尤其是新手,掌握并高效利用Fedora13进行日常桌面计算任务。该手册不仅适用于初学者的学习,也是...
通过上述步骤,可以有效地解决在Fedora 13环境下安装和使用ns2-allinone-2.30过程中常见的编译错误和NAM运行错误问题。这些解决方案不仅适用于Fedora 13,也可能适用于其他类似的操作系统环境。希望这些经验分享能...
Linux Fedora 13中的TFTP RPM包包含了两个关键组件:tftp客户端和tftp服务器端。TFTP(Trivial File Transfer Protocol)是一种简单且轻量级的文件传输协议,常用于网络配置、软件更新和远程启动等场景。在这个RPM...
### 交叉编译环境搭建详解:RedHat与Fedora下的NFS及TFTP配置 #### 一、实验目的概述 本实验旨在使学习者能够掌握如何在RedHat或Fedora环境下构建一个完整的交叉编译环境,并熟悉在此环境下的工作流程与原理。特别...