Chào đa số bạn, bài viết này bản thân vẫn chia sẻ phương pháp để Kotlin thao tác với Android NDK giành cho số đông bạn mới ban đầu. Hãy cùng tò mò nhé!

Android NDK

Native sầu Development Kit (NDK) là 1 trong bộ cách thức đỡ đần ta áp dụng code C/C++ trong Android, cung cấp những tlỗi viện góp bạn cũng có thể thực hiện để làm chủ những buổi giao lưu của sản phẩm công nghệ, tróc nã nhập lệ những thành phần vật lý của sản phẩm như các cảm biến sensors, màn hình hiển thị chạm màn hình, ...

Bạn đang xem: Android ndk là gì

CMake, JNI là gì?

CMake, JNI(Java Native Interface) vẫn cách xử trí những quá trình tương quan mang đến can hệ thân native sầu code cùng Java. Nó là một trong những cầu nối thân Java, áp dụng cùng các thư viện được viết làm việc những ngôn từ không giống nhau.

Vì sao ta đề nghị sử dụng NDK?

Thực tế ta đã biết những ngôn từ được viết bởi C/C++ bao gồm vận tốc chạy rất cao, nhờ đó hỗ trợ cho vận tốc của áp dụng được nâng cao đáng chú ý.

Xem thêm: Tên Thật Của Song Jihyo - Tiểu Sử, Sự Nghiệp Và Đời Tư Nữ Diễn Viên

Việc sử dụng NDK góp nâng cấp được tính năng của vận dụng dựa vào 3 lý do sau:

Navite code được biên dịch trực tiếp ra binary code và chạy trực tiếp bên trên OS, trong những khi đó Java code sẽ được đưa thành Java byte-code cùng chạy trên sản phẩm công nghệ ảo Java (JVM)Native code có thể chấp nhận được developer rất có thể sử dụng một trong những các thiên tài của bộ xử trí trong những khi Android SDK thì không thểCó thể để cải thiện những đ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 từ C/C++, cùng ta có thể thực hiện thỏng viện này phụ thuộc NDKBắt đầu nào

Ở nội dung bài viết này bản thân vẫn hướng dẫn chúng ta link vận dụng của bản thân mình với NDK thực hiện jni, sinh hoạt lớp C vẫn viết 1 hàm trả về 1 đoạn string, và ta vẫn Hotline hàm đó cùng lôi ra đoạn string trả về từ bỏ lớp Java.

Tạo 1 folder là jni bên phía trong src/main
*
Trong thư mục jni tạo ra 1 file Android.mk với ngôn từ nlỗi sau:

LOCAL_PATH := $(Điện thoại tư vấn my-dir)include $(CLEAR_VARS)LOCAL_MODULE := keysLOCAL_SRC_FILES := keys.cinclude $(BUILD_SHARED_LIBRARY)LOCAL_MODULE = “keys” là tên gọi bạn có nhu cầu sử dụng nhằm tróc nã nhập tự Java codeLOCAL_SRC_FILES = “keys.c” là file native sầu code cất mã nguồn mà lại các bạn sẽ viết.Tạo file Application.mk bên trong folder jni cùng với ngôn từ sau:APP_ABI := allTạo C/C++ file "keys.c" trong thư mục jni với nội dung 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 với Activity là MainActivity là chỗ sẽ call hàm native sầu này cùng với thương hiệu static method là getStringHello

Cây thư mục sẽ như sau:
*
Ở bên phía trong Activity MainActivity ta sẽ tạo một static block với nhằm load thư viện với declare các vừa viết trong tệp tin C/C++Nếu áp dụng Java ta vẫn viết nlỗi sau:

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

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

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 *