Android Studio 已有專案新增NDK支援(mac/ndk-build)

leunging發表於2020-12-23

1、配置已安裝的ndk版本到 Android NDK Location 路徑:/Users/miao/Library/Android/sdk/ndk/21.0.6113669 (File -> Project Structure -> SDK Location -> Android NDK Location)

2、在app module下的 src/main 目錄新建 jni 目錄

3、在 MiaoApplication 中新增 native 方法宣告:public static native String getCPUInfo(int pid);

4、在 src/main 目錄下執行命令:javah xx.xxx.MiaoApplication,生成標頭檔案 xx_xxx_MiaoApplication.h

5、將 xx_xxx_MiaoApplication.h 剪下到 src/main/jni 目錄下

6、在 jni 目錄下新建一個 C/C++ Source 檔案 cpu_info.cpp

7、在 jni 目錄下新建 Android.mk 檔案,配置 ndk 的庫檔案編譯環境:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# 生成so檔名稱
LOCAL_MODULE    := performance_data
# cpp檔案
LOCAL_SRC_FILES := cpu_info.cpp
LOCAL_LDLIBS := -lm -llog
include $(BUILD_SHARED_LIBRARY)

\

8、新增 ndkBuild 新增到 Gradle 配置:專案名右鍵 -> Link C++ Project with Gradle -> ndk-build,然後選擇 Android.mk 路徑

結果:

9、在 cpu_info.cpp 中實現標頭檔案中的函式:

10、執行 /.gradlew build

成功後會在 /build/intermediates/ndkBuild/debug/obj/local/xxx 目錄中生成對應xxx平臺的 libperformance_data.so

11、 執行 ./gradlew installDebug

安裝後開啟應用可以看到:getCPUInfo:CPU資訊,證明呼叫成功

 

相關文章