预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

4.Android与CrossCompiler之关系 何谓Crosscompiler(交叉编译器)? CrossCompiler主要在资源较丰富的计算机上执行,而编译出能在别的计算机上执行的目的码(ObjectCode)。例如,当我们想写个C程序,让它能在Android手机里跑。Android手机的ARM-CPU及内存容量都很小,我们无法在资源有限的Android/ARM里进行编辑及编译C程序。可行的方法是:在X86PC环境里编辑C程序,然后使用CrossCompiler去编译出适合ARM-CPU里执行的目的码。这称为CrossCompiler。 安装ARMGNU/Linux交叉编译器 在Ubuntu里安装交叉编译器的步骤是: Step-1.在Ubuntu画面上,直接上网: Step-2.选取2007q3-51版,并下载: Step-3.这会自动安装于/home/tom/arm-2007q3/里。 Step-4.这样,交叉编译器就安装完成了。 使用CrossCompiler编译C函数,放入Android里执行。 可先将.h和.c程序代码存于自订的Proj_01档案夹里,如下: 开始进行交叉编译C程序代码 接下来,对HalfAdder.c和com_misoo_gx05_NativeJniAdder.c两个程序文件,进行编译, 将产生.o的目标程序(ObjectCode)檔。 ***编译HalfAdder.c程序*** ***编译com_misoo_gx05_NativeJniAdder.c程序*** 从画面可看到他已经产出了两个ARM-based的.o目标程序档了。 连结出可在ARM上执行的.so程序文件 对HalfAdder.o和com_misoo_gx05_NativeJniAdder.o两个目标程序档, 进行连结而产生.so的共享程序档案,使用下述命令: 将libNativeJniAdder.so共享程序文件拷贝并放置到Android仿真器里 例如,在Windows环境。 Step-1.先将.so档案拷贝到c:/android-sdk-windows-1.0_r1/tools/里。 Step-2.启动仿真器。 Step-3.进入c:/android-sdk-windows-1.0_r1/tools/,并使用adbpush命令 将.so档案,存入仿真器的/system/lib/里。 撰写主程序去呼叫这libNativeJniAdder.so共享程序 在Android的Java程序可轻松地透过JNI去呼叫此.so链接库。 也可以再利用CrossCompiler编译一个C主函数(main())去呼叫它。