相信很多人在刚开始学习Android JNI编程的时候,需要输出Log,在百度Google搜索的时候都是说需要在Android.mk中加入LOCAL_LDLIBS+= -L$(SYSROOT)/usr/lib -llog ,其实这是在eclipse开发上的方式,Android Studio并不是这么使用。

Android Studio的Android.mk是自动生成的,就算修改也是没用了,实际Android Studio的Android.mk是根据gradle文件生成的,那么就需要修改gradle文件。

如果不修改gradle,直接使用__android_log_print就会报错

Error:(36) undefined reference to '__android_log_print'

现在只需要在jni Module中得build.gradle 添加一些代码即可实现输出Log

build.gradle文件完成代码

apply plugin: 'com.android.library'android {    compileSdkVersion 21    buildToolsVersion "21.1.2"    defaultConfig {        minSdkVersion 14        targetSdkVersion 21        versionCode 1        versionName "1.0"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'            ndk {                moduleName "moduleName"                ldLibs "log"//实现__android_log_print                abiFilters "armeabi", "armeabi-v7a", "x86"            }        }    }    productFlavors {    }}dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    compile 'com.android.support:support-v13:21.0.3'}
ldLibs "log" 是关键代码
#include <string.h>#include <android/log.h>#include <jni.h>#include <stdio.h>#define  LOG_TAG    "native-dev"#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)#define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)#define LOGI(...)  __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)void testlog(){    LOGI("test");}

更多相关文章

  1. eclipse导入的Android项目没有android.jar包并报错
  2. Android与js交互实例
  3. Android(安卓)TextView文字链接4中方法
  4. Android内核的简单分析
  5. Android自学笔记-7-Android中的junit
  6. Android应用程序启动过程源代码分析
  7. Android有用代码片断(五)
  8. android通过代码来开启和关闭移动网络
  9. [android][利用JNI技术在Android中调用、调试C++代码]

随机推荐

  1. Android 解析 ByteArrayInputStream
  2. Android下使用iCal4j库
  3. android 创建数字签名应用程序
  4. Android应用框架无边界
  5. 【Android 开发教程】经过预定义的查询字
  6. android 开发学习笔记 (一)
  7. Android 中会出现的问题:This Android SDK
  8. Android 中的单元测试(使用AndroidTestCa
  9. Android(java)学习笔记126:Android Studio中
  10. android菜鸟学习笔记12----Android控件(