关于如何构建.c文件的问题

时间:2011-05-25 19:35:26

标签: android

我一直在尝试为下面的网页找到的串口实现API。我是这方面的初学者,我确信我在看什么:

http://code.google.com/p/android-serialport-api/source/browse/#svn%2Ftrunk%2Fandroid-serialport-api%2Fproject%2Fjni

问题:

1).c文件是如何构建的?我需要下载NDK吗?我假设.c文件是由虚拟机直接运行的,或者是什么?或者是libs目录中.c文件的可执行文件?如果是这样,我如何利用libserial_por.so文件?

谢谢!

1 个答案:

答案 0 :(得分:2)

通过在项目目录中运行ndk-build,将.c文件内置到库中。你需要NDK。

.c文件不是由虚拟机直接运行,而是在libs目录中创建一个库,然后将其与SerialPort类一起加载。

要使用该库,只需使用已绑定到库的SerialPort类。


C文件将被NDK编译为扩展名为.so的ARM二进制库。请查看NDK Documentation,“NDK入门”部分,了解如何使用它。

基本上,您将.c文件放在jni目录中,更改Android.mk以指定如何编译它们,然后运行ndk-build来构建库。生成的lib<name>.so将放在lib目录中。然后使用System.loadLibrary('<name>')在Java项目中使用库。

这当然意味着库必须具有JNI接口才能与Java应用程序一起使用,因为Android尚不支持JNA。

我看到你指出的代码是一个Android项目。要运行它,只需在项目目录中运行ndk-build即可构建库,然后在模拟器中运行该项目。