Hello NDK-初學(xué)

Hello NDK

一.NDK的安裝

本文使用的是android studio 2.2.3安裝NDK,自然所在環(huán)境是windows。
打開android studio的File | Settings | Appearance & Behavior | System Settings | Android SDK,選擇SDK Tools,選中LLDB和NDK,點(diǎn)擊確認(rèn),軟件會自動安裝NDK。如下圖:

圖片.png

二.配置環(huán)境變量

--增加一項(xiàng):NDK_ROOT,如:D:\Android\android-sdk-windows\ndk-bundle
--在path中增加%NDK_ROOT%
圖片.png
圖片.png

三.工程基本使用

在所在工程的src|main目錄下新建文件夾jni

圖片.png

1.新建hello-jni.c

修改hello-jni.c文件中的函數(shù)名稱,格式為:Java_包名類名函數(shù)名
( Java_me_jnidemo_myjnidemo_NdkJniUtils_stringFromJNI)

#include <string.h>
#include <jni.h>
/* This is a trivial JNI example where we use a native method 
* to return a new VM String. See the corresponding Java source * file located at: * * apps/samples/hello-jni/project/src/com/example/hellojni/HelloJni.java 
*/
//jstring
//Java_com_bazhangkeji_MainActivity_stringFromJNI( JNIEnv* env,// jobject thiz )
//{
// return (*env)->NewStringUTF(env, "Hello from JNI !");
//}
JNIEXPORT jstring JNICALLJava_com_bazhangkeji_demo01_MainActivity_stringFromJNI(JNIEnv *env, jobject instance) {
     // return (*env)->NewStringUTF(env, returnValue); 
     return (*env)->NewStringUTF(env, "Hello from JNI !");
}

2.新建Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)

3.在build.gradle中配置

配置好,make project即可生成.so文件在app\build\intermediates\ndk-build\debug\lib中。
增加語句:

externalNativeBuild { 
  ndkBuild { 
     path file("src\\main\\jni\\Android.mk") } 
}  

4.java層調(diào)用

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,027評論 25 709
  • 一、NDK產(chǎn)生的背景 Android平臺從誕生起,就已經(jīng)支持C、C++開發(fā)。眾所周知,Android的SDK基于J...
    Ten_Minutes閱讀 3,720評論 1 27
  • LZ-Says:半夜睡覺滾了地上了,無奈之下醒來了,想想最近幾天因?yàn)橐粋€(gè)括號導(dǎo)致JNI遲遲不能開展,心里面無奈又崩...
    靜心Study閱讀 2,267評論 0 6
  • 張國榮去世后,有次梁朝偉來內(nèi)地演出,一位女榮迷向他大聲得哭喊道:“黎耀輝,你還記得何寶榮嗎?”梁朝偉聽到這句話停下...
    唐朱朱閱讀 109評論 0 0
  • 在這個(gè)無人知曉的夜晚 習(xí)慣性坐在車窗前遠(yuǎn)望 望著窗外的風(fēng)景 其實(shí)是一片漆黑 我根本看不清有啥 我更不知道自己錯(cuò)過了...
    海仙子閱讀 289評論 0 0

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