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