android JNI入門 之helloworld

舊版步驟

創(chuàng)建好項(xiàng)目后

  • 打開gradle.properties,添加:
android.useDeprecatedNdk=true
  • 打開local.properties,添加:
ndk.dir=NDK的路徑
  • 最后打開app內(nèi)build.gradle,在android/defaultConfig下面添加ndk配置
ndk {
            moduleName "JNISample"  //moduleName 表示編譯出的so文件的名字
        }
  • 任意在類中聲明一個Native方法(C/C++寫的方法)
 public static native String getJniString();
  • 進(jìn)入到源代碼目錄,在終端中根據(jù)native方法所在文件路徑,輸入以下命令生成頭文件com_instructionextract_sdkdemo_sdkDemo.h
javah com.instructionextract.sdkdemo.sdkDemo
  • 在main目錄下創(chuàng)建jni目錄存放Native層代碼,將頭文件移動到j(luò)ni目錄下
  • 使用頭文件的名稱,創(chuàng)建cpp文件com_instructionextract_sdkdemo_sdkDemo.cpp來寫代碼,例如
#include <com_instructionextract_sdkdemo_sdkDemo.h>

//方法定義是從.h頭文件中copy過來的
JNIEXPORT jstring JNICALL Java_com_instructionextract_sdkdemo_sdkDemo_Anti_1TraceMe
  (JNIEnv *, jclass){
    return env -> NewStringUTF("Hello World");;
 }
  • 在java層使用Native層方法,先加載庫文件,文件名由moduleName定義
    static {
        System.loadLibrary("AntiDebug");
    }

新版步驟

谷歌官方推薦參考向您的項(xiàng)目添加 C 和 C++ 代碼,安裝好NDK、LLDB,在新建項(xiàng)目的時候,在向?qū)У?Configure your new project 部分,選中 Include C++ Support 復(fù)選框。

創(chuàng)建好項(xiàng)目后,原生代碼都在cpp目錄下即可,并且新建項(xiàng)目存在一個系統(tǒng)生成的原聲demo方法可以參考

參考

Android Studio jni開發(fā)入門——看我就夠了!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容