devlinux
Shared library là một phần quan trọng trong hệ thống AOSP, được sử dụng để chia sẻ mã nguồn giữa các ứng dụng và module. Bài viết này hướng dẫn cách tạo một shared library đơn giản bằng cách sử dụng Android.bp, bao gồm các hàm cộng, trừ, nhân, chia và tính tổng, cùng với chương trình test trong cùng một tệp Android.bp
Di chuyển tới thư mục path-to-android-source/external/helloworld ở ví dụ trước. Tạo tệp mã nguồn tại vị trí:
Tạo tệp my_shared_lib.h trong thư mục include để khai báo các hàm cộng, trừ, nhân, chia.
// src/my_shared_lib.cpp
#ifndef MY_SHARED_LIB_H
#define MY_SHARED_LIB_H
int add(int a, int b);
int subtract(int a, int b);
int multiply(int a, int b);
int divide(int a, int b);
#endif // MY_SHARED_LIB_H
Tạo một tệp mã nguồn my_shared_lib.cpp trong thư mục src để định nghĩa các hàm cộng, trừ, nhân, chia.
// include/my_shared_lib.h
#include "my_shared_lib.h"
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int multiply(int a, int b) {
return a * b;
}
int divide(int a, int b) {
if (b != 0) {
return a / b;
} else {
return 0;
}
}
Sửa lại chương trình "Hello World" sử dụng shared library my_shared_lib để thực hiện các phép toán cộng, trừ, nhân, chia.
// src/hello_world.cpp
#include <iostream>
#include "my_shared_lib.h"
int main() {
int a = 10, b = 5;
std::cout << "Hello, World!" << std::endl;
std::cout << "Addition: " << add(a, b) << std::endl;
std::cout << "Subtraction: " << subtract(a, b) << std::endl;
std::cout << "Multiplication: " << multiply(a, b) << std::endl;
std::cout << "Division: " << divide(a, b) << std::endl;
return 0;
}
Đây là cách cấu hình tệp Android.bp để build shared library và chương trình "Hello World".
cc_library_shared {
name: "my_shared_lib",
srcs: ["src/my_shared_lib.cpp"],
include_dirs: ["external/helloworld/include"],
}
cc_binary {
name: "hello_world",
srcs: ["src/hello_world.cpp"],
shared_libs: ["my_shared_lib"],
}
Thiết lập môi trường build của AOSP.
source build/envsetup.sh
lunch aosp_rpi4_car-ap3a-userdebug
Chạy lệnh để build.
mmm my_shared_lib
m hello_world
Trong hướng dẫn này, bạn đã học cách tạo một shared library với các hàm cộng, trừ, nhân, chia và tích hợp nó vào một chương trình "Hello World" trong AOSP sử dụng tệp Android.bp. Bạn cũng đã biết cách build và kiểm tra kết quả cũng như xử lý các lỗi phổ biến liên quan đến quá trình này.
Ví dụ này không chỉ giúp bạn làm quen với cách tạo shared library mà còn cho thấy cách cấu hình và sử dụng chúng trong môi trường phát triển Android.
devlinux
0 Bình luận