[Android Pro]Android studio jniでLogを呼び出してデバッグ情報を出力します。
1788 ワード
reference to:http://www.linuxidc.com/Linux/2014-02/96341.htm
Android開発中、javaはデバッグ情報Log.i,Log.d…を便利に使えますか?答えは肯定的です。
1使用しやすいように、マクロ定義を先に行います。
eben_hpc_log.hの内容は以下の通りです。
ヽoo。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。インクレッドドドドhpc_Log葃define_インクレッドドドドhpc_Log胪ifdef_u ucplusextern「C」{萼endif萼include璣ifdef氡菵玣endif
2コードで使用:
//demo.
ヽoo。ツ
JNIEXPORT ジントJNICAL Java_cn_hpc_caiジニJniLogDemotest(JNIEnv*env,jobject jobj){LOGD(ロゴ.dこれはJniの中のlog:Java_cnpccccai惵惵Jni LogDemoutest);LOGI("Log.iこれはJniの中のlogs:Java娻Jupujugnignight。
return 0;
3 app/build.gradle中
4 java呼び出し
public static final String libName="xal"static{System.loadLibrary(libName)}
{JniLogDemo=new JniLogDemo];demo.test();
終了します。
Android開発中、javaはデバッグ情報Log.i,Log.d…を便利に使えますか?答えは肯定的です。
1使用しやすいように、マクロ定義を先に行います。
eben_hpc_log.hの内容は以下の通りです。
ヽoo。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。インクレッドドドドhpc_Log葃define_インクレッドドドドhpc_Log胪ifdef_u ucplusextern「C」{萼endif萼include
2コードで使用:
//demo.
ヽoo。ツ
JNIEXPORT ジントJNICAL Java_cn_hpc_caiジニJniLogDemotest(JNIEnv*env,jobject jobj){LOGD(ロゴ.dこれはJniの中のlog:Java_cnpccccai惵惵Jni LogDemoutest);LOGI("Log.iこれはJniの中のlogs:Java娻Jupujugnignight。
return 0;
3 app/build.gradle中
defaultConfig {
ndk {
ldLibs "log"
moduleName "xal" // so
abiFilters "armeabi" // abi so 。 。
//abiFilters "armeabi", "armeabi-v7a", "x86" // abi so 。 。
}
}
次にJava層の呼び出しです。4 java呼び出し
public static final String libName="xal"static{System.loadLibrary(libName)}
{JniLogDemo=new JniLogDemo];demo.test();
終了します。