0

共有ライブラリとしてAndroidアプリ用のサードパーティのcライブラリをコンパイルしています。cライブラリのソースコードにAndroidログを追加して、どのメソッドがどの引数で呼び出されるかを確認できるようにします。しかし、私はそれを機能させることはできません。私は次のことを試しました:

  1. cライブラリのAndroid.mkに-llogを追加します

    LOCAL_CFLAGS:=:= ... -llog

  2. ログに記録するソースファイルabc.cにヘッダーファイルを追加します

    #include <android / log.h>

  3. 行を追加

    __android_log_print(ANDROID_LOG_DEBUG、 "MyApp"、 "これはメソッドXです");

エラー:__android_log_printが認識されません。

それを機能させるにはどうすればよいですか?

4

2 に答える 2

0

__android_log_print3番目の引数の後に可変個引数のprintfような引数を取ります。使用する

__android_log_write(ANDROID_LOG_DEBUG, "MyApp", "This is method X");

代わりに、引数なしのロギングの場合。

編集:-llogはリンカーフラグであり、コンパイラフラグではありません。削除する

LOCAL_CFLAGS := := ... -llog

代わりに書く

LOCAL_LDLIBS := -llog
于 2013-03-25T20:17:01.400 に答える
0

gradleでAndroidStudioを使用する場合、Android.mkは無視されます。これをbuild.gradleファイルに追加します。

android {
  defaultConfig {
    ndk {
        moduleName "your_module_name"
        ldLibs "log"
    }
}
}
于 2015-10-15T09:58:34.467 に答える