TinkerBoardS编译Android11将libserial_port.so导入/system/lib

[复制链接]
Tinker_lllerk 发表于 2023-4-9 16:34:02 | 显示全部楼层 |阅读模式
本帖最后由 Tinker_lllerk 于 2023-4-12 12:17 编辑

请问如何将编译好的 libserial_port.so 放到/system/lib
或者如何在源码环境编译 android-serialport-api-master ,然后自动生成libserial_port.so 放到/system/lib。
回复

使用道具 举报

sychimu 发表于 2023-4-13 11:23:06 | 显示全部楼层
我理解,直接通过adb push libserial_port.so 到/system/lib应该就可以了
当然前提需要先
adb root
adb remount
回复

使用道具 举报

 楼主| Tinker_lllerk 发表于 2023-4-14 16:14:56 | 显示全部楼层
sychimu 发表于 2023-4-13 11:23
我理解,直接通过adb push libserial_port.so 到/system/lib应该就可以了
当然前提需要先
adb root

用adb操作没问题。
我想编译镜像的时候就放/system/lib,这样批量烧系统就行了,不用多一步操作。
回复

使用道具 举报

sychimu 发表于 2023-4-17 09:04:01 | 显示全部楼层
Tinker_lllerk 发表于 2023-4-14 16:14
用adb操作没问题。
我想编译镜像的时候就放/system/lib,这样批量烧系统就行了,不用多一步操作。 ...

那具体的可能要参考google Android源码的makefile等,自行添加相应的文件编译路径指定等内容了。
以下内容来自网络,请自行参考调试。
在Android 11系统中,要实现在编译时自动将libseral_port.so放入system/lib目录,可以按以下步骤操作:

1. 在Android.mk文件中添加libserial_port.so到PRODUCT_PACKAGES变量中:

makefile
PRODUCT_PACKAGES += libserial_port


这会使libserial_port.so被编译进系统映像文件(system.img)。

2. 在设备的BoardConfig.mk文件中,添加以下内容:

makefile
DEVICE_PACKAGE_OVERLAYS += device/common/overlays/serialport


这会使“device/common/overlays/serialport”目录中的内容合并进系统映像。

3. 在“device/common/overlays/serialport”目录中创建文件“libserial_port.apk”,其内容是:

xml
<?xml version="1.0" encoding="utf-8"?>
<apk version="2" xmlns:android="http://schemas.android.com/apk/res/android" >        
   <file-reference path="/system/lib/libserial_port.so" />
</apk>


4. 接着在“device/common/overlays/serialport”目录中创建文件“Android.bp”,内容是:

makefile
cc_prebuilt_library_shared {
     name: "libserial_port",
     relative_install_path: "system/lib",
     srcs: ["libserial_port.so"],
     build_number_abi_name: false,
}


5. 最后在“device/common/overlays/serialport”目录中创建“overlay”文件夹,并在其中添加空文件“libserial_port.so”。

完成以上步骤后,当编译系统映像时,Makefile会自动将“overlay”文件夹下的“libserial_port.so”文件拷贝到“system/lib”目录,并打包进系统映像,实现在编译时将其放入到指定位置。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册用户

本版积分规则

 
QQ在线咨询
点击这里给我发消息
点击这里给我发消息
电话咨询
0755-23012315
快速回复 返回顶部 返回列表