【Android】Android Studio NDK 開發


個人博客:
http://www.milovetingting.cn

Android Studio NDK 開發

記錄在Android Studio中NDK簡單開發的步驟

用到的Android Studio版本為3.5。

配置NDK

下載NDK

一般在SDK下已經有自帶的ndk文件夾,如sdk目錄下的ndk-bundle文件夾。

ndk.png

如果沒有,可以在SDK Manager中下載

ndk2.png

下載LLDB、NDK兩項

下載完成后,可以在sdk目錄下看到ndk的文件夾

ndk3.png

配置環境變量

我的電腦-屬性-高級系統設置-環境變量

新建一個ANDROID_NDK變量,配置上ndk文件夾的位置(在這個文件夾下可以看ndk-build.cmd等文件)

ndk4.png

然后將這個變量加入到path變量中

ndk5.png

生成SO庫

新建一個Hello.java文件,里面增加一個本地方法

public static native String hi();

執行Build-Make Project,在app\build\intermediates\javac\debug\classes目錄下執行以下cmd命令生成頭文件:

javah -jni com.wangyz.ndk.Hello

在該目錄下,可以看到生成的com_wangyz_ndk_Hello.h文件。

在app/src/main/目錄下新建jni目錄,將生成的頭文件復制到jni目錄下。

在jni目錄下新建com_wangyz_ndk_Hello.c文件,編寫C語言實現代碼:

#include "com_wangyz_ndk_Hello.h"

JNIEXPORT jstring JNICALL Java_com_wangyz_ndk_Hello_hi
  (JNIEnv *env, jclass clazz){
  return (*env)->NewStringUTF(env,"Hello");
  }

在jni目錄下新建Android.mk文件,內容如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := Hello
LOCAL_SRC_FILES := com_wangyz_ndk_Hello.c
include $(BUILD_SHARED_LIBRARY)

在jni目錄下新建Application.mk文件,內容如下:

APP_ABI := all

在該目錄下執行cmd命令:

ndk-build

執行后生成所需的so文件。

引用SO庫

在app/src/main目錄下新建目錄jniLibs,將對應的so復制到該目錄下:

ndk6.png

在Activity中引入:

static {
        System.loadLibrary("Hello");
    }

使用SO庫中的方法

String hi = Hello.hi();
Toast.makeText(getApplicationContext(), hi, Toast.LENGTH_SHORT).show();

Android Studio中NDK的簡單開發到此結束。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM