JNI学习笔记(三)——C语言logcat环境的搭建+常见错误分析+Linux一些命令

1、C语言logcat环境的搭建

  • 1、在Android.mk文件里面添加LOCAL_LDLIBS += -llog
  • 2、在c的代码中添加
#include 

#define LOG_TAG "System.out"

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

LOGI("info\n");

LOGD("debug\n");

2、常见错误分析

  • 1、乱码的错误
    ndk r6以后的,可以c文件的将编码格式修改成utf-8,ndk r6以前的需要到java文件中调用字符串的编码格式转换方法
String str="XXXX";
str=new String(str.getBytes(), "UTF-8");
  • 2、Error 1 错误
    1-- 在Android.mk 出现了问题
    2-- D:/workspace/Ndk_Ndk2/jni/Hello.c:11: error: parameter name omitted
    参数名 不能为空
  • 3、11-18 03:34:36.435: E/AndroidRuntime(431): Caused by: java.lang.UnsatisfiedLinkError: Hello
    1-- java中方法的名称 和c中函数名称 不一致
    2-- 检查链接库文件 有没有加载
  • 4、绿色DEBUG
    程序的库挂了 (存在严重逻辑性问题)
D:/AndroidWorkSpace/Ndk_HelloWorld/jni/Hello.c:3: error: expected '=', ',', ';',
 'asm' or '__attribute__' before 'Java_cn_itcast_ndk1_MainActivity_helloFromJNI'

/cygdrive/d/AndroidWorkSpace/Ndk_HelloWorld

D:\AndroidWorkSpace\Ndk_Ndk2\bin\classes>javah cn.itcast.ndk2.MainActivity

3、Linux一些命令

  • 1、pwd当前文件夹对应的目录
  • 2、
  • cd 跳转到指定文件夹
  • cd /表示根目录下的文件夹
  • cd ..返回上级目录
  • 3、
    • ls 显示当前目录下的所有文件(dos dir)
    • ls -l 显示当前目录下的所有文件及其详细信息
  • 4、./ 当前文件夹下的所有文件

你可能感兴趣的:(JNI学习笔记(三)——C语言logcat环境的搭建+常见错误分析+Linux一些命令)