这篇文章主要介绍了Android 驱动编写LED-NDK程序的相关资料,需要的朋友可以参考下
1. 首先编写LINUX内核模块LED
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
|
2. 需要生成头文件。
生成头文件则需要应用程序。故用国嵌提供的app软件。解压后修改local.properties文件相应的地址。
打开studio.sh,重新编译工程。
编译工程后,在app的工程文件那个文件夹执行命令。
javah -d jni -classpath /opt/android-sdk-linux/platforms/android-23/android.jar:/home/my_Android/led\
/NDK/NDK_APP/app/build/intermediates/classes/debug/ com.android.jack.ndk.happy.MainActivity
其中/opt/android-sdk-linux/platforms/android-23/android.jar是安卓sdk中的地址。
/home/my_Android/led/NDK/NDK_APP/app/build/intermediates/classes/debug/ 是相应安卓app源文件工程中的地址。
com.android.jack.ndk.happy.MainActivity为安卓的项目名称。
运行命令后,会在目录中生成jni文件夹。其中com_android_jack_ndk_happy_MainActivity.h为我们需要的头文件。
其中的文件声明为我们需要实现的函数。
在jni文件中创建ndk_led.c源文件和makefile文件Android.mk
1 2 3 4 5 |
|
若想生成静态库 则修改SHARED为STATIC即可。
然后返回上一级目录 执行命令ndk-build。将会生成libs/armeabi/libndk_test_myled.so 库文件。