Android Studio 下安卓 jni 开发错误 undefined reference to __android_log_print
来源:互联网 发布:win8 怎么安装ubuntu 编辑:程序博客网 时间:2024/05/15 23:45
jni
最近要搞安卓下串口的读写,需要用到 jni,然后遇到了这个问题,坑挺多。
串口读写参考文章:Android串口操作,简化android-serialport-api的demo(附源码)
我把这个源码导入了 android studio,上传到 github:AndroidSerialPort
jni 开发参考文章:【Android 应用开发】Android 开发 之 JNI入门 - NDK从入门到精通
还有个极客学院的:JNI 开发流程
跳坑
这个问题就是导入 android studio 后遇到的,错误如下:
1
undefined reference to __android_log_print
该函数在 ndk 目录中文件 **\ndk-bundle\platforms\android-24\arch-arm\usr\include\android\log.h
里,我的代码里包含了该头文件。
Android.mk
文件内容是这样的:
123456789
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := serial_portLOCAL_SRC_FILES := SerialPort.cLOCAL_LDLIBS := -lloginclude $(BUILD_SHARED_LIBRARY)
google 了下,有如下解决方法:
1 修改 Android.mk 文件相关:
1
LOCAL_LDLIBS := -llog
而我的本来就是这个样子啊,失败
2 修改 Android.mk 文件:
1
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
问题依旧~~~
3 如果使用 android studio,需要修改 gradle 脚本:
12345678
android { defaultConfig { ndk { moduleName "serial_port" ldLibs "log" } }}
也就是添加了一句:ldLibs "log"
这个解决了我的问题。
详细代码我传到了 github:AndroidSerialPort
其实,用 Android Studio 开发 jni,不需要 Android.mk 文件,只要配置好 gradle 就可以了。今天遇到同样的问题,来这里看看吧:Android Studio 下安卓 jni 开发错误 undefined reference to AndroidBitmap_getInfo
分享是一种美德,更是一种生活方式!!
也许你会说我是一个梦想者,但我不是唯一的一个。
悦分享,越快乐^_^
欢迎交流,转载请注明出处,谢谢!
转自 http://jp1017.github.io/2016/03/15/Android%20Studio%20%E4%B8%8B%E5%AE%89%E5%8D%93-jni-%E5%BC%80%E5%8F%91%E9%94%99%E8%AF%AF-undefined-reference-to-android-log-print/
- Android Studio 下安卓 jni 开发错误 undefined reference to __android_log_print
- 使用android studio JNI报错 undefined reference to '__android_log_print'
- 安卓 jni 开发错误 undefined reference to __android_log_print
- Android Studio 下安卓 jni 开发错误 undefined reference to AndroidBitmap_getInfo
- Android studio中JNI-NDK开发打印LOG出现 undefined reference to `__android_log_print' 解决
- "android-studio undefined reference to `__android_log_print "错误解决方法
- android-studio undefined reference to `__android_log_print
- android studio undefined reference to `__android_log_print'
- 使用android studio 报错 undefined reference to '__android_log_print'
- undefined reference to `__android_log_print'
- undefined reference to `__android_log_print'
- undefined reference to __android_log_print
- undefined reference to `__android_log_print'
- jni编译问题:jin中添加LOG方法以及undefined reference to `__android_log_print'错误
- jni中出现使用LOGD,出现undefined reference to '__android_log_print错误
- JNI编程-- undefined reference to `__android_log_print' 的解决办法
- undefined reference to `__android_log_print'解决
- undefined reference to `__android_log_print'解决
- Ubuntu系统安装搜狗、谷歌、五笔等输入法教程
- 【Spring实战】—— 6 内部Bean
- Copying to tmp table 解决方式
- Linux下打包压缩war,解压war和jar命令
- 让div高度跟随窗口高度自适应的方法
- Android Studio 下安卓 jni 开发错误 undefined reference to __android_log_print
- 移动端之在不同尺寸大小的手机上展示同一效果解决方案(修正二) by FungLeo
- 几款视频类库的对比
- "围观"设计模式(5)--迪米特法则(Lod,Law of Demeter)或最少知道原则(Least Knowledge Principle)
- Android 继承BaseActivity的典型用法
- web.xml is missing and <failOnMissingWebXml> is set to true[解决]
- webservice实例
- Objective-C中的布尔类型的用法
- java中volatile关键字的含义