JNI学習ノート(三)-C言語logcat環境の構築+よくあるエラー分析+Linuxいくつかのコマンド

1624 ワード

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
    "); LOGD("debug
    ");

    2、よくあるエラー分析
  • 1、文字化けしたエラーndk r 6以降の場合、cファイルの符号化フォーマットをutf-8に変更することができ、ndk r 6以前の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、./現在のフォルダの下にあるすべてのファイル