Chào những bạn, nội dung bài viết này mình vẫn share cách để Kotlin thao tác làm việc với Android NDK giành cho gần như các bạn mới bước đầu. Hãy thuộc tò mò nhé!

Android NDK

Native Development Kit (NDK) là một cỗ lao lý giúp ta thực hiện code C/C++ vào Android, cung ứng những tlỗi viện giúp bạn cũng có thể sử dụng để làm chủ những hoạt động của sản phẩm, truy hỏi nhập lệ những phần tử đồ lý của dòng sản phẩm nhỏng các cảm ứng sensors, màn hình hiển thị chạm màn hình, ...quý khách đang xem: Ndk là gì

CMake, JNI là gì?

CMake, JNI(Java Native sầu Interface) đang giải pháp xử lý các quá trình liên quan mang đến liên can thân native sầu code và Java. Nó là một trong những cầu nối thân Java, vận dụng cùng các tlỗi viện được viết sinh hoạt những ngôn từ khác biệt.

Vì sao ta yêu cầu áp dụng NDK?Navite code được biên dịch trực tiếp ra binary code cùng chạy thẳng trên OS, trong khi đó Java code sẽ tiến hành chuyển thành Java byte-code và điều khiển xe trên thứ ảo Java (JVM)Native code chất nhận được developer rất có thể thực hiện một trong những các tính năng của bộ xử trí trong những khi Android SDK thì không thểcũng có thể nhằm nâng cấp các đoạn mã tại mức assemblyRất nhiều những thỏng viện ví dụ như ffmpeg được viết bằng ngôn ngữ C/C++, cùng ta có thể thực hiện thư viện này dựa vào NDKBắt đầu nào

Tại bài viết này mình đang lí giải chúng ta link áp dụng của mình cùng với NDK áp dụng jni, sinh sống lớp C vẫn viết 1 hàm trả về 1 đoạn string, và ta vẫn Call hàm kia với lôi ra đoạn string trả về trường đoản cú lớp Java.

Tạo 1 folder là jni bên phía trong src/main


Bạn đang xem: Ndk là gì

*



Xem thêm: Recruitment Executive Là Gì, Kỹ Năng Cần Có Của Hr Executive

Trong folder jni chế tác 1 file Android.mk cùng với nội dung như sau:

LOCAL_PATH := $(gọi my-dir)include $(CLEAR_VARS)LOCAL_MODULE := keysLOCAL_SRC_FILES := keys.cinclude $(BUILD_SHARED_LIBRARY)LOCAL_MODULE = “keys” là tên bạn có nhu cầu sử dụng nhằm truy nhập từ bỏ Java codeLOCAL_SRC_FILES = “keys.c” là file native code đựng mã nguồn nhưng mà bạn sẽ viết.Tạo tệp tin Application.mk phía bên trong folder jni với câu chữ sau:APP_ABI := allTạo C/C++ file "keys.c" vào thư mục jni cùng với câu chữ sau:#include JNIEXPORT jstring JNICALLJava_com_hungnt_helloapplication_MainActivity_getStringHello(JNIEnv *env, jobject instance) return (*env)-> NewStringUTF(env, "Hello from nativeLib");Java_com_hungnt_helloapplication_MainActivity_getStringHello Thể hiện đoạn Java code với package name là com.hungnt.helloapplication cùng với Activity là MainActivity là vị trí đang Gọi hàm native sầu này cùng với thương hiệu static method là getStringHello

Cây thỏng mục sẽ như sau:


Xem thêm: Sử Dụng Counter Argument Là Gì, Ielts Writing Task 2: Viết Counter

*

Tại bên trong Activity MainActivity ta sẽ khởi tạo một static block và nhằm load tlỗi viện với declare những vừa viết vào file C/C++Nếu thực hiện Java ta đang viết nlỗi sau:

static System.loadLibrary("keys"); public native String getStringHello();Với Kotlin init System.loadLibrary("keys") external fun getStringHello(): StringGiờ ta có thể Hotline được rồi kia, ví dụ ta đang hiển thị ra log:Log.d("Debug", "Result: " + getStringHello())Cách sau cuối, ta cần cấp dưỡng tệp tin gradle nhằm rất có thể build được phầm mềm qua NDKapk ..... buildTypes ..... externalNativeBuild ndkBuild path "src/main/jni/Android.mk" Giờ ta hãy sync vào build lại project với chạy test thôi như thế nào, hãy chắc chắn rằng rằng những tệp tin của doanh nghiệp đặt đúng thương hiệu là đường dẫn tới NDK là đúng trong module settings nhé!Chúc chúng ta thành công!

Tsay mê khảo: https://proandroiddev.com/android-ndk-interaction-of-kotlin-and-c-c-5e19e35bac74


Chuyên mục: KHÁI NIỆM LÀ GÌ
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *