我一直在尝试为下面的网页找到的串口实现API。我是这方面的初学者,我确信我在看什么:
问题:
1).c文件是如何构建的?我需要下载NDK吗?我假设.c文件是由虚拟机直接运行的,或者是什么?或者是libs目录中.c文件的可执行文件?如果是这样,我如何利用libserial_por.so文件?
谢谢!
答案 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
即可构建库,然后在模拟器中运行该项目。