做项目的时候导入了usb-serial-api方面的资料,涉及到jni的使用。一般这类报错都是因为找不到目录,JNI的配置问题。在android studio环境下往往和eclipse不太一样,而网上的资源很多改了之后依然出错。下面给出我在导入了usb-serial-api(eclipse项目)Demo后的更改措施:
1. 按照网上的其他例子,在gradle.properties里加一句 Android.useDeprecatedNdk=true ,没有这个文件就新建
2. build.gradle(app)的在buildTypes { xxx } 的下面添加
sourceSets{
main {
jniLibs.srcDirs = ['libs']
}
}
3. 在2中添加就可以知道了,eclipse使用C语言的包叫jni,而android studio的名字叫做jniLibs。Project视图下,在app里可以看到libs中放的是我们的.so文件,src下有或没有jni的文件夹,有的话改名,没有的话新建为jniLibs,并把需要的mk文件、c文件、h文件放到该文件夹下。
4. 重新编译运行就OK叻。
补充:请检查 CMakeList 文件是否写入 xxx 。