Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android Studio中JNI程序的單步調試和日志打印,androidjni

Android Studio中JNI程序的單步調試和日志打印,androidjni

編輯:關於android開發

Android Studio中JNI程序的單步調試和日志打印,androidjni


近日有個算法(檢測碰撞)需要用C++實現,目的是IOS和ANDROID中共享同一段程序。


下面說說android調用這段程序過程中遇到的一些事情。(過程中網上搜索了一些相關文章,大部分說的是eclipse環境中的教程,所以有必要寫這篇文章,免得自己遺忘再走彎路)
算法已經完成,接下來自然的過程就是單步調試和日志打印這段程序。 我的IDE環境:Android Studio 1.5.1,ndk是android-ndk-r10e.   首先,如何設置ndk目錄,如何把.h和.cpp文件放到項目中,如何按照規范寫類似 
JNIEXPORT jboolean JNICALL Java_com_example_shenzhigang_collisiondetection_Peng_isCollided
這樣的代碼,等等這些教程,網上多,不再敘述。   接下來單步調試的支持: 步驟1:打開模塊的build.gradle文件,添加類似如下代碼到defaultConfig節點下
ndk {
moduleName "HelloJNI"
stl "stlport_static"
ldLibs "log"
}
這裡的ldLibs "log"後面會說到, moduleName "HelloJNI"這裡的HelloJNI只需要和java代碼中
System.loadLibrary("HelloJNI");
這裡對應即可。   步驟2:添加以下代碼到buildTypes下(同樣是步驟1中的文件)
debug {
jniDebuggable true
}


步驟3:同步build.gradle文件,不出意外的話如圖所示的圖標不再有紅色叉叉,OK,選擇app-native,盡情DEBUG吧.....

    ===============================================================================================   下面說說如何在jni程序中輸出日志,這裡也是android studio和eclipse不同的地方,也是我寫這文章的主要目的: 步驟1:打開模塊的build.gradle文件,添加類似如下代碼到defaultConfig下的ndk節點下
    ldLibs "log"
順便說一下,eclipse下是直接修改Android.mk文件,添加LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -llog這樣的代碼。雖然android studio也最終會生成Android.mk文件,但這個文件如果去修改的話,每次build都會被自動覆蓋回去的。   步驟2:這步和eclipse下是相同的,在需要打印日志的文件下,
#include <android/log.h>
然後使用__android_log_print函數,不再細述。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved