2012-06-24 36 views
0

显示Hello World字符,它可能会将数据传递到logcat或其他地方,而不是朝着显示屏幕前进。试图在Android手机上使用本机代码

如何管理,以显示我要使用本机代码进行传递的Dalvik什么...... T_T

+1

如果您想编写不使用Android组件的纯本机代码,则可以编写本机Linux应用程序。手机必须扎根,您的应用程序交互将在ADB外壳中进行。 STDOUT将显示在shell窗口中。 – BitBank

+0

感谢您的建议@BitBank! –

回答

1

有可能是这样做没有正式支持方式。 Android基本上基于在dalvik虚拟机中运行的java代码。

它曾经是您唯一的选择是在您自己的本地代码和java代码之间使用jni将数据传递给Java级别的Android显示API。

在更新的版本中,可以编写所谓的本地活动,其中所有代码都是C或C++。但是,这样的活动仍然运行在围绕运行平台提供的java代码的dalvik虚拟机构建的进程中,并通过jni调用您的代码。

有一个嵌入式Open GL本地API,您可以使用它来绘制文本,但很有可能在幕后一些jni仍然参与其中,至少在设置视图时。

开放GL的原生活动和本地使用都在ndk发行版中有示例。

我想你也可以让你的代码通过管道或套接字与不同的进程进行交互,以显示其输出,但这只是将dalvik的使用转移到其他地方。

+0

总是感谢您的建议@Chris Stratton! –

+0

我在想......如果我改变启动加载器参数并将显示驱动程序连接到安卓控制台......怎么办? –

+0

是的,你可以做到这一点。也许不是在引导程序级别,而只是改变init脚本来启动你的特权本地进程而不是基于dalvik的android运行时 - 你可以从一些自定义恢复映像学习,这些映像似乎有一个UI,也许没有android运行时。 –

相关问题