NDK開發(fā)入門

第一章、生成JNI的.h文件

1、新建android工程HelloNDK,新建包com.hteng.ndk.hello,在包下編寫HelloManager.java類,定義本地getHelloString()方法;

public native String getHelloString();

2、?將HelloManager.java類拷到E盤根目錄,打開cmd命令行窗口,切換到E盤根目錄,指令一生成class文件,指令二生成C語言JNI的.h文件;

E:\>java com.hteng.ndk.hello.HelloManager

E:\>javah com.hteng.ndk.hello.HelloManager

第二章、實現(xiàn)頭文件相關(guān)業(yè)務(wù)邏輯

1、在HelloNDK的main目錄底下新建jni文件夾,拷貝com_hteng_ndk_hello_HelloManager.h到該目錄;

2、在jni新建Hello.c文件,內(nèi)容如下:

#include<studio.h>

#include<stdlib.h>

#include<jni.h>

#include"com_hteng_ndk_hello_HelloManager.h"

JNIEXPORT jstring JNICALL Java_com_hteng_ndk_hello_HelloManager_getHelloString

(JNIEnv * env, jobject clazz){

return (*env)->NewStringUTF(env,"hello NDK");

}

第三章、配置NDK參數(shù)

1、修改build.gradle文件,新增NDK配置內(nèi)容

applyplugin:'com.android.application'

android {

compileSdkVersion15

buildToolsVersion"23.0.3"

defaultConfig {

applicationId"com.hteng.ndk.hello"

minSdkVersion15

targetSdkVersion19

versionCode1

versionName"1.0"

ndk {

moduleName"hello-world"

}

}

buildTypes {

release {

minifyEnabledfalse

proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

}

}

}

dependencies {

compile fileTree(include: ['*.jar'], dir:'libs')

testCompile'junit:junit:4.12'

}

2、修改gradle.properties文件,新增NDK配置

android.useDeprecatedNdk=true

3、修改local.properties文件,增加NDK路徑配置

ndk.dir=E\:\\android-soft\\android-ndk-r10e

第四章、調(diào)用NDK方法

1、載入so庫文件

static {

System.loadLibrary("hello-world");

}

2、調(diào)用so庫文件native方法

HelloManager.getInstance().getHelloString()

源碼下載

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

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

  • 一、NDK產(chǎn)生的背景 Android平臺從誕生起,就已經(jīng)支持C、C++開發(fā)。眾所周知,Android的SDK基于J...
    Ten_Minutes閱讀 3,719評論 1 27
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,936評論 25 709
  • 本人為初學(xué)者,文章寫得不好,如有錯誤,請大力懟我 或者看這里 如何使用jni進行開發(fā) 本文主要針對Android環(huán)...
    AlbertHumbert閱讀 4,834評論 2 12
  • _ 聲明: 對原文格式以及內(nèi)容做了細微的修改和美化, 主要為了方便閱讀和理解 _ 一. 基礎(chǔ) Java Nativ...
    元亨利貞o閱讀 6,086評論 0 34
  • 昨天晚上,我們用了兩個小時觀看了《摔跤吧爸爸》這部電影。 這部電影講的是:爸爸的夢想是有一個兒子,自己講兒子訓(xùn)練成...
    稚念_閱讀 321評論 0 1

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