android2.3 源码编译及导入模拟器

本文介绍了解决在32位Ubuntu系统上编译Android源码遇到的仅支持64位环境的问题。通过修改特定文件中的编译选项,并调整main.mk中的条件判断,成功实现了32位系统的编译。
AI助手已提取文章相关产品:

编译环境Ubuntu11.04 32位机器

下载完代码后,进行make$cd ~/myAndroidsource
$make
却出现了如下错误:
build/core/main.mk:73: You are attempting to build on a 32-bit system.
build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.
这是因为froyo/2.2默认只支持64-bit,看到有些网友还要去下载64-比他的操作系统,很是麻烦,于是通过不断搜索资料终于解决,
解决办法:
需要进行如下修改即可,
将
./external/clearsilver/cgi/Android.mk
./external/clearsilver/java-jni/Android.mk
./external/clearsilver/util/Android.mk
./external/clearsilver/cs/Android.mk
四个文件中的
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
注释掉,或者将“64”换成“32”
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32

然后,将
./build/core/main.mk 中的
ifneq (64,$(findstring 64,$(build_arch)))
改为:
ifneq (i686,$(findstring i686,$(build_arch)))

1、进入到源码文件夹下 执行make命令开始编译


target thumb C: libwnndict<=packages/inputmethods/OpenWnn/libs/libwnnDictionary/engine/ndldic.c
target thumb C: libwnndict
<=packages/inputmethods/OpenWnn/libs/libwnnDictionary/engine/ndrdic.c
target thumb C: libwnndict
<=packages/inputmethods/OpenWnn/libs/libwnnDictionary/engine/necode.c
target thumb C: libwnndict
<=packages/inputmethods/OpenWnn/libs/libwnnDictionary/engine/ndcommon.c
target thumb C: libwnndict
<=packages/inputmethods/OpenWnn/libs/libwnnDictionary/engine/nj_str.c
target SharedLib: libwnndict (out
/target/product/generic/obj/SHARED_LIBRARIES/libwnndict_intermediates/LINKED/libwnndict.so)
target Non
-prelinked: libwnndict (out/target/product/generic/symbols/system/lib/libwnndict.so)
target Strip: libwnndict (out
/target/product/generic/obj/lib/libwnndict.so)
Generated: (out
/target/product/generic/android-info.txt)
Target system fs image: out
/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image: out
/target/product/generic/system.img
Target ram disk: out
/target/product/generic/ramdisk.img
Target userdata fs image: out
/target/product/generic/userdata.img
Installed file list: out
/target/product/generic/installed-files.txt

出现上面的提示信息说明编译已经完成,同时会发现在代码目录下多了一个out目录。

2、安装Android模拟器android-sdk-linux_x86

  到google网站下载http://developer.android.com/sdk/index.html页面下载android-sdk_r04-linux_x86.tgz到/usr/local/并解压,加压后文件夹/usr/local/android-sdk-linux_86/tools/中包含有 emulator模拟器。

  编辑/etc/profile添加模拟器执行环境变量

# Androidemulator
PATH
= ”$PATH: / home / lvs / out / host / linux - x86 / bin”
ANDROID_PRODUCT_OUT
=/ home / lvs / out / target / product / generic
export ANDROID_PRODUCT_OUT
dong@ubuntu: ~/ out / target / product / generic# / usr / local / android - sdk - linux_86 / tools / emulator - image system.img - data userdata.img - ramdisk ramdisk.img



您可能感兴趣的与本文相关内容

克隆APP和游戏的并行多个帐户。支持在无限的并行空间中克隆应用程序。多个帐户的快速应用克隆器!除了双重空间,您还可以为APP和其他社交或游戏应用程序创建和登录无限多个帐户。 支持在无限的并行空间中克隆应用程序。多个帐户的快速应用克隆器!除了双重空间,您还可以为APP和其他社交或游戏应用程序创建和登录无限多个帐户。 登录并运行2个以上的即时消息应用程序帐户,在一台设备上接收消息并与朋友聊天! 玩具有多个帐户的游戏,并使它们同时在线以获取双重功能和体验!享受多重乐趣! 易于管理多个社交网络帐户,将工作和个人生活分开。 由River Stone Tech提供技术支持的Do Multiple,具有重量最轻,功能最强大的克隆引擎,可以帮助您将应用程序克隆到另一个单独的并行空间中。此外,“执行多个操作”可以帮助您管理克隆的应用程序的通知,并提供“隐私锁”功能来保护克隆的应用程序。它还提供了精简模式,可以为克隆的应用程序提供最佳的内存和电池使用率。 Do Multiple与大多数即时消息应用程序,游戏应用程序和社交网络应用程序兼容。支持Google Play服务,您可以在克隆版本中连接Google Play游戏或其他服务。 ★登录到多个消息传递,游戏和社交应用程序 •平衡生活,轻松使用多个帐户。 •双重游戏帐户和双重乐趣。 •克隆数据和原始应用程序分开 ★一键式快速在两个帐户之间切换 •同时运行两个帐户,将创建带有克隆标签的图标。 ★隐私储物柜,以保护您的克隆帐户 ★精简模式提供最佳的电源和存储效率 ★通知设置,用于管理克隆的通知 笔记: 权限:“执行多个”应用程序本身所需的权限很少,但“执行多个”需要事先为克隆应用程序应用许多权限。请授予“执行多个操作”权限,以避免运行克隆时出现功能错误或崩溃。 消耗:“执行多个操作”本身不会占用过多内存,电池和数据,而内部运行的应用程序实际上会消耗这些内存,电池和数据。 通知:请在系统通知设置中将“多个”添加到白名单中。 什么是新的: 支持Android 10! 修复某些型号(例如PIMD,KaW,GOT和CLiQQ)上的某些应用/游戏加载问题 修正《部落冲突》,《皇家冲突》和一些游戏多账户问题 对WhatsApp,Messenger,LINE,FB和某些社交应用程序问题的最佳支持 PRO功能已解锁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值