了解Android应用程序执行

时间:2014-01-27 23:10:43

标签: android virtual-machine dalvik

我在android编程世界中迈出了第一步。这是一个初学者的问题。

如何完成,使用c或c ++编写的库来操作一个Android应用程序中的摄像头或扬声器?

我们使用允许访问此组件(如相机)的硬件服务。 此硬件服务进行本机调用(JNI)?这是对的吗?

Dalvik VM执行dex文件。这个dex文件是否包含转换为机器代码的所有这些内容?

我有点困惑

2 个答案:

答案 0 :(得分:0)

如在Android体系结构图中提到的,android有大多数使用java Native Interface(JNI)的库能够在Linux内核中调用本机(c / c ++),所以当你编写代码来调用相机时你的java代码调用库部分中的一些函数,称为媒体框架,处理硬件并为您打开相机并使用它进行操作,这里有一些层次结构来解释这个想法:

Android应用程序        | Android应用程序        | Java Native Interface        | C / C ++本机库

给我带回任何组件对你来说并不明显

答案 1 :(得分:0)

如果您有C / C ++库,则可以将它们与NDK一起使用:

http://developer.android.com/tools/sdk/ndk/index.html