2014-01-27 42 views
0

我正在给Android编程世界的第一步。这是一个初学者问题。了解Android应用程序执行

如何完成,使用c或C++编写的库来操作例如相机或扬声器在一个Android应用程序中的过程?

我们使用允许访问摄像头等组件的硬件服务。 此硬件服务使本地调用(JNI)?它是否正确?

Dalvik VM执行一个dex文件。这个dex文件是否包含所有这些被翻译成机器码的入侵?

我有点困惑

+1

看看这个视频。 http://www.youtube.com/watch?v=G-36noTCaiA – Varun

回答

0

作为Android的架构图提及Android有最库,使用Java Native Interface(JNI)能在Linux内核调用本机(C/C++),这样的当你编写调用摄像头的代码时,你的java代码调用一些库函数中的一些函数,称为媒体框架,它处理硬件并为你打开摄像头并使用它来操作,这里有一些层次来解释这个想法:

Android应用程序 | Android应用程序 | Java本地接口 | C/C++本地库

喂我回任何组件不明显你

+0

那么,一切都是JNI?或者只是我们想在我们的Android应用程序(NDK) – adcosta

+0

10中使用的自定义c,C++库,请参阅此图 http://soulbuzz.net/wp-content/uploads/2010/05/android_native_service.png 该框架(API)用JNI编写,处理使用NDK编写的C/C++库时,我充当库部分并直接处理硬件 反馈给我的任何组件对您来说都不是显而易见的。 –