使用android studio 报错 undefined reference to '__android_log_print'

  • 问题:使用android studio 报错 undefined reference to ‘__android_log_print’

  • 解决:

    • .h文件是否#include “android/log.h”
    • build.gradle

      ndk{
              //指定生成模块名字,也就是最终的动态库名hello-jni,相应库文件名libhello-jni.so moduleName "hello-jni"
              moduleName "pm422b"
              // 指定生成哪些处理器架构的动态库文件,如果要运行在x86架构处理器一定需要指定 abiFilters "armeabi" , "x86"
              abiFilters "armeabi","x86"
              //不加的话  .h文件打log 会报undefined reference to '__android_log_print'
              ldLibs "log"
          }
      
  • 原因:
    build.gradle 的作用类似于mk文件,加ldLibs “log”的作用
    相当在在Android.mk 中

        加上
        LOCAL_LDLIBS :=-llog
        注意Android.mk里有一行include $(CLEAR_VARS)
        必须把LOCAL_LDLIBS :=-llog放在它后面才有用,
        否则相当于没写。
    

你可能感兴趣的:(报错解决记录)