Android 关于build.c文件如何使用的问题

Android 关于build.c文件如何使用的问题,android,Android,我一直在尝试为下面的网页中找到的串行端口实现API。我是所有这一切的初学者,我确信我所看到的: 问题: 1) c文件是如何构建的?我需要下载NDK吗?我假设.c文件是由虚拟机直接运行的,或者什么?或者.c的可执行文件是libs目录中的文件?如果是,如何利用libserial_por.so文件 谢谢 通过在项目目录中运行ndk build,将.c文件构建到库中。你需要NDK .c文件不是由虚拟机直接运行的,而是在libs目录中创建一个库,然后与SerialPort类一起加载 要使用库,只需使用已

我一直在尝试为下面的网页中找到的串行端口实现API。我是所有这一切的初学者,我确信我所看到的:

问题:

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


谢谢

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

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

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


C文件将被NDK编译成一个扩展名为.so的ARM二进制库。看看“NDK入门”一节,了解如何使用它

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

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


我知道你指出的代码是一个Android项目。要运行它,只需在项目目录中运行
ndk build
来构建库,然后在模拟器中运行项目。

谢谢。因此lib目录中的文件是.c构建的结果。这意味着我已经有了我需要的.so文件。很好。如果您已经拥有了它,那么就没关系了,您不需要重新构建它。那么,如果我将.So文件保留在lib目录中并启动Eclipse,它会在lib目录中找到库(即.So文件)?或者我必须做一些特殊的事情来告诉它.so文件在那里吗?Eclipse不应该关心库,也不应该知道如何处理它。不过,它会将它打包到.apk中,并且它应该可以在模拟器中工作,而无需您做任何额外的工作。谢谢。我会试试看。