Questions on how the build .c files
I have been trying to implement the API for the serial port found the the below web page. I am a beginner in all this and I am sure about what I am looking at:
http://code.google.com/p/android-serialport-api/source/browse/#svn%2Ftrunk%2Fandroid-serialport-api%2Fproject%2Fjni
Questions:
1) The .c files are built how? Do I need to download the NDK? I assume the .c file is run directly by the virtual machine, or what? Or is the executable for the .c the file in the libs directory? If so, how do I utilize the libserial_por.so fil开发者_JAVA技巧e?
Thanks!
The .c files are built into a library by running ndk-build
in the project directory. You need the NDK.
The .c files are not run directly by the virtual machine, but rather a library is created in the libs
directory, which is then loaded along with the SerialPort
class.
To use the library, just use the SerialPort
class which already has bindings to the library.
C files will be compiled to an ARM binary library with the extension .so by the NDK. Take a look at the NDK Documentation, section "Getting Started with the NDK", to find out how to use it.
Basically, you place your .c files in the jni
directory, change Android.mk
to specify how to compile them, then run ndk-build
to build the library. The resulting lib<name>.so
will be placed in the lib
directory. You then use your library in the Java project with System.loadLibrary('<name>')
.
This of course means the library must have a JNI interface for you to be able to use with the Java application, since Android doesn't support JNA yet.
I see though that the code you pointed out is an Android project. To run it, simply run ndk-build
in the project directory to build the library, then run the project in an emulator.
精彩评论