android-x86 compile

OS: ubuntu 10.0.4 32bit
Processor: x86 Atom CPU N450

1. Add the following sources to /etc/apt/sources.list
 deb http://tw.archive.Ubuntu.com/ubuntu/   jaunty main restricted universe multiverse
 deb-src http://tw.archive.Ubuntu.com/ubuntu/ jaunty main restricted universe multiverse

 

or:

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

 

2. Update sources list
 apt-get update

3. Configure the build environment
 apt-get install git-core gnupg flex bison gperf libsdl-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev gcc build-essential g++-multilib  libreadline5-dev valgrind texinfo patch

 apt-get install sun-java5-jdk (compile android 2.2 froyo-x86)
 apt-get install sun-java6-jdk (compile android 2.3 gingerbread-x86)

4. Install repo
 mkdir ~/bin
 cd  bin
 curl http://Android.git.kernel.org/repo > ~/bin/repo
 chmod a+x ~/bin/repo
 vi ~/.bashrc
  add: export PATH=~/bin:$PATH

5. Download android code
 mkdir ~/myandroid
 cd ~/myandroid
 repo init -u git://git.android-x86.org/manifest.git -b froyo-x86  (froyo-x86)
 repo init -u git://git.android-x86.org/manifest.git -b gingerbread-x86 (gingerbread-x86)
 repo sync

The site of "git://android.git.kernel.org/platform/manifest.git" is very very slow, you could replace it with "git://android-x86.git.sf.net/gitroot/android-x86/manifest.git"

6. Build
 source build/envsetup.sh
 lunch
 make iso_img

you can find the iso file at "./out/target/product/generic_x86/".


----------------------------------------------------------------------------------------
For gingerbread-x86,if your build environment was 32bit, you should modify 5 files:
 Android.mk:
 ./external/clearsilver/cgi/Android.mk
 ./external/clearsilver/java-jni/Android.mk
 ./external/clearsilver/util/Android.mk
 ./external/clearsilver/cs/Android.mk
 change the following rows:
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
 to:
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32

 main.mk:
 ./build/core/main.mk
 change the following row:
ifneq (64,$(findstring 64,$(build_arch)))
 to:
ifneq (i686,$(findstring i686,$(build_arch)))

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译 OpenSceneGraph (OSG) for Android 需要使用交叉编译工具链(cross-compilation toolchain),可以使用 Android NDK 中提供的工具链来完成。以下是编译 OSG 的大致步骤: 1. 下载并安装 Android NDK,可以从官网下载。 2. 下载 OSG 的源代码,可以从官网下载。 3. 解压 OSG 源代码,进入源代码目录。 4. 设置环境变量,使得编译器可以找到 Android NDK 中的工具链,例如: ``` export ANDROID_NDK=$HOME/android-ndk-r10e export PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH export CC=arm-linux-androideabi-gcc export CXX=arm-linux-androideabi-g++ ``` 其中 `$HOME/android-ndk-r10e` 是 Android NDK 的安装路径。 5. 运行 cmake 命令生成 Makefile: ``` mkdir build_android cd build_android cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \ -DANDROID_ABI="armeabi-v7a" \ -DANDROID_NATIVE_API_LEVEL=android-14 \ -DCMAKE_INSTALL_PREFIX=/path/to/install/directory \ .. ``` 其中 `-DANDROID_ABI="armeabi-v7a"` 表示编译为 armeabi-v7a 架构,`-DANDROID_NATIVE_API_LEVEL=android-14` 表示使用 Android 14 的 API 级别。`-DCMAKE_INSTALL_PREFIX` 表示安装路径。 6. 运行 make 命令编译 OSG: ``` make -j4 ``` 其中 `-j4` 表示使用 4 个线程进行编译。 7. 运行 make install 命令安装 OSG: ``` make install ``` 至此,OSG 的编译就完成了。 如果需要编译 osgEarth,可以按照类似的步骤,先编译 OSG,再编译 osgEarth。在 cmake 命令中需要添加 `-DOSG_DIR=/path/to/osg/install/directory` 参数,指定 OSG 的安装路径。例如: ``` cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \ -DANDROID_ABI="armeabi-v7a" \ -DANDROID_NATIVE_API_LEVEL=android-14 \ -DCMAKE_INSTALL_PREFIX=/path/to/install/directory \ -DOSG_DIR=/path/to/osg/install/directory \ .. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值