laikago_sdk配置方法

本文档详细介绍了在Ubuntu 18.04系统上安装Laikago SDK和LCM的步骤,包括安装依赖、编译源码以及解决运行时的动态链接库问题。在尝试运行position_example时遇到找不到liblcm.so.1库的问题,通过更新ld.so.cache并添加库文件路径解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 准备所需的文件,配置环境

2. 编译sdk

3. Debug

使用的板卡为tx2,系统内核(cat /etc/version)为Linux version 4.9.140-tegra,

(lsb_release -a)ubuntu 18.04

1. laikago_sdk_1.2.1_nvidia和lcm安装包

lcm安装

安装依赖

# 必选
sudo apt install build-essential libglib2.0-dev cmake
# 可选,可根据使用的语言选择安装
sudo apt install default-jdk python-all-dev liblua5.1-dev golang doxygen

下载、编译并安装

# 拷贝源码
git clone https://github.com/lcm-proj/lcm.git
cd lcm
# 编译并安装
mkdir build && cd build
cmake ..
make -j4
sudo make install

2. 编译sdk

cd laikago_sdk
mkdir build && cd build
cmake ..
make

3. Debug

./position_example

报错

./position_example: error while loading shared libraries: liblcm.so.1: cannot open shared object file: No such file or directory

链接器ld默认的目录是/lib和/usr/lib,如果放在其他路径也可以,需要让ld知道库文件在哪里。

解决方法1:

在/etc/ld.so.conf.d/目录下新建test.conf为后缀的文件,在该文件中加入库文件所在的目录(/usr/local/lib);

运行

sudo ldconfig

,以更新/etc/ld.so.cache文件;

方法1:

编辑/etc/ld.so.conf文件,在新的一行中加入库文件所在目录;

运行ldconfig,以更新/etc/ld.so.cache文件;

重新运行程序即可。
 

<think>我们正在讨论的是在Android源码中修改PLATFORM_SDK_VERSION配置。根据引用[1]和[2],我们知道在Android高版本(如9和10)中,修改源码并编译可能会遇到一些问题。而PLATFORM_SDK_VERSION是一个定义在源码中的常量,它表示当前Android平台的SDK版本号。在Android源码中,PLATFORM_SDK_VERSION通常定义在build/core/version_defaults.mk文件中(具体路径可能因版本而异)。我们可以通过修改这个文件来改变PLATFORM_SDK_VERSION的值。 步骤: 1.找到定义PLATFORM_SDK_VERSION的文件。在较新的Android版本中,这个值可能定义在`build/make/core/version_defaults.mk`文件中。 2.修改该文件中的`PLATFORM_SDK_VERSION`变量。3.重新编译整个Android系统。 具体操作:1.打开文件:`build/make/core/version_defaults.mk`2.在文件中搜索`PLATFORM_SDK_VERSION`,找到类似这样的行:```makefilePLATFORM_SDK_VERSION:=30```将30修改为你想要的版本号,例如29。 3.保存文件。4.重新编译系统。在源码根目录下执行:```bashmake -j8```或者根据你的编译环境使用相应的命令(如`m`、`mm`等)。注意:修改PLATFORM_SDK_VERSION可能会带来兼容性问题,因为系统组件可能会依赖于这个版本号。请确保你了解修改带来的影响。另外,引用[4]提到,在AndroidStudio中查看源码时,如果compileSdkVersion设置为30,但SDK Platforms中未提供API30的源码,会报错。因此,如果你修改了PLATFORM_SDK_VERSION,也要确保在开发应用时使用相应的SDK版本,并下载对应的源码。引用[5]提到了SDK的环境配置,如果你在开发环境中使用修改后的SDK版本,需要确保在AndroidStudio中配置了正确的SDK路径。 相关问题: 1.修改PLATFORM_SDK_VERSION后,如何验证修改是否生效?2.修改PLATFORM_SDK_VERSION可能会带来哪些兼容性问题?3.除了version_defaults.mk文件,还有哪些地方需要修改以改变SDK版本?</think>### 如何在Android源码中修改PLATFORM_SDK_VERSION配置 在Android源码中修改`PLATFORM_SDK_VERSION`需要以下步骤: #### 1. **定位配置文件** - 打开源码根目录下的全局配置文件: ```bash vim build/make/core/version_defaults.mk ``` - 搜索关键词`PLATFORM_SDK_VERSION`,你会看到类似定义: ```makefile # 当前平台SDK版本 PLATFORM_SDK_VERSION := 30 ``` #### 2. **修改版本号** - 直接修改`:=`后的数值(例如改为29): ```diff - PLATFORM_SDK_VERSION := 30 + PLATFORM_SDK_VERSION := 29 ``` #### 3. **同步相关配置** - 检查`frameworks/base/core/java/android/os/Build.java`中的兼容性声明: ```java public static final int SDK_INT = PLATFORM_SDK_VERSION; ``` - 确保`build.gradle`中的`targetSdkVersion`与修改后的版本一致 #### 4. **重新编译系统** ```bash # 清除旧编译缓存 make clobber # 启动新编译(根据设备选择target) make -j8 aosp_arm-eng # 示例命令 ``` #### 5. **验证修改** - 刷机后执行: ```bash adb shell getprop ro.build.version.sdk ``` 应返回修改后的版本号(如29) #### ⚠️ 注意事项 1. **兼容性问题** 降低SDK版本可能导致新API不可用,需测试系统功能[^1] 2. **SDK源码匹配** 修改后需确保Android Studio中`compileSdkVersion`与源码版本一致[^4] 3. **环境变量更新** 如修改build-tools路径,需同步更新`$PATH`中的SDK路径[^5] 4. **API级别限制** 某些系统服务(如`SystemProperties`)在高版本有访问限制[^1] --- ### 相关问题 1. 修改`PLATFORM_SDK_VERSION`后如何解决新API不可用的问题? 2. Android Studio如何配置才能正确识别修改后的SDK版本源码?[^3][^4] 3. 修改SDK版本后出现`SystemProperties`访问错误应如何解决?[^1] 4. 如何通过环境变量配置确保编译系统识别修改后的SDK路径?[^5] 5. 在Android 10+系统中修改SDK版本需要特别注意哪些安全策略变更?[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值