导航:首页 > 操作系统 > linux移植到android

linux移植到android

发布时间:2023-02-24 06:46:39

‘壹’ 刚刚在linux编译好了ogre 3D渲染引擎,怎样将它移植到android中啊。

目前为止,Ogre 1.7.3暂时不支持Android,虽然Android是以Linux为底层内核,但是Android NDK编译Ogre 1.7是不可能的。但是可以检查Ogre的最新代码 1.8版本(https://bitbucket.org/sinbad/ogre/src/)在OgreMain/src文件夹下面可以看到Android文件夹,说明Ogre 1.8是支持Android的,但是Ogre 1.8没有最终release。不过Google Code上有个Gamekit(http://code.google.com/p/gamekit/),集成了Ogre 1.8和物理与声音引擎,由于使用不稳定的Ogre 1.8,可以使用NDK编译在Android上使用。

‘贰’ 请教linux 迁移到 android 方法

比如以移植一个helloworld程序作为例子。

#include<stdio.h>
voidmain()
{
printf("HelloWorld! ");
}

输入命令进行静态编译:arm-none-linux-gnueabi-gcc hello.c -static -o hello.out

然后利用adb push 将helllo.out放进android设备的/system/bin目录中,

用chmod 755 /system/bin/hello.out 更改其为执行权限。

输入: hello.out 即可看到屏幕上输出HelloWorld!

‘叁’ linux下的应用程序移植到android系统,求思路!

如果是JAVA之类的代码,可能移植难度要低些。移植程序是个苦活,与其没完没了的调试,还不如按照原来的设计思路和功能重新写代码呢。

‘肆’ 如何移植 linux 到安卓手机

移植toolbox到普通Linux系统中
toolbox是Android中专用的busybox,从嵌入式Linux转过来都会大大地吐槽功能简陋。但实质上也有很多特有的很好用的功能。比如getevent命令来调试所有的输入事件。已经静态编译出来了(下载地址:toolbox 静态编译),这里记录一下移植过程。
原本以为会很难,所以一直放很久才开始做,最终很简单,只需要稍加修改Android.mk就可以编译出一个静态链接的toolbox。以下diff文件就是改动信息。
diff --git a/system/core/toolbox/Android.mk b/system/core/toolbox/Android.mk
index 086ba0d..d5aef3b 100755
--- a/system/core/toolbox/Android.mk
+++ b/system/core/toolbox/Android.mk
@@ -91,6 +91,7 @@ LOCAL_SRC_FILES := \
grep/grep.c grep/fastgrep.c grep/file.c grep/queue.c grep/util.c

LOCAL_SHARED_LIBRARIES := libcutils libc libusbhost
+LOCAL_STATIC_LIBRARIES := libc libcutils

LOCAL_C_INCLUDES := bionic/libc/bionic

@@ -102,6 +103,7 @@ LOCAL_C_INCLUDES += external/libselinux/include

endif

+LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE := toolbox

# Including this will define $(intermediates).

然后进行编译就自动编译成了静态链接的了。
$ file out/target/proct/xxx/system/bin/toolbox
out/target/proct/xxx/system/bin/toolbox: ELF 32-bit LSB executable, ARM, \
version 1 (SYSV), statically linked, stripped
$12341234

当然,我没有编译所有的CPU架构的,只是编译了ARMv7的,所以比较低的架构或者其它CPU可能不能直接使用,那么就自行编译吧。
<完>

阅读全文

与linux移植到android相关的资料

热点内容
java字节乱码 浏览:305
荣耀50什么时候升级安卓12 浏览:75
pdf文件怎么转成jpg 浏览:259
比泽尔压缩机代理商 浏览:629
什么app能下载多邻国 浏览:234
服务器蓝色什么意思 浏览:226
vb组态软件源码 浏览:698
加密蚊帐防蚊门帘 浏览:828
vs2010多线程编程 浏览:214
新股上市指标源码 浏览:699
c语言51单片机教程 浏览:554
app中的hd是什么意思 浏览:279
手机什么解压器最好 浏览:49
什么是适合自己的app 浏览:451
云服务器怎么补漏洞 浏览:176
如何看自己的安卓是什么等级 浏览:633
被丁磊挖走的程序员 浏览:19
gsk980ta编程 浏览:507
单片机离线 浏览:84
解压助眠敲击外国长指甲 浏览:421