基于rosjava的Android ROS环境搭建心路历程
因为比赛需要,不得不耗了半年时间在这上面,最后弄得也不是很通透,踩完各种坑,绝望中徘徊千百遍,只能说能用了。将遇到过的各种坑以及现在所理解的东西总结如下。
官网教程:http://wiki.ros.org/android (打开后选Kinetic版本)
ROS环境
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 安装VMware ;
如果要搭载ROS Android环境,请把磁盘分到50G左右,默认的20G到后来是不够的。
如果已经装好,可以磁盘扩容:https://blog.csdn.net/daemon_2017/article/details/80660372
装好后Windows无法启动VMware Authorization Service服务:以管理员身份启动VMware - 安装Ubuntu16.04
装好以后没网,解决办法:https://jingyan.baidu.com/album/39810a2342f222b637fda648.html?picindex=6;
调整窗口大小:https://blog.csdn.net/dcrmg/article/details/74090307 - 安装ROS Kinetic https://blog.csdn.net/softimite_zifeng/article/details/78632211
PS:用流量下载半小时左右就可以。
下载失败:下拉更换库源尝试。
问题:配置环境时bash: /opt/ros/indigo/setup.bash: No such file or directory
输入gedit .bashrc命令打开文件,将最一排的bash: /opt/ros/Kinetic/setup.bash中的Kinetic改成小写,删除重复的多余配置。
非ROS包
1.ROS下安装JDK:https://www.linuxidc.com/Linux/2017-06/144732.htm
简单的安装方法始终失败后,尝试手动安装OracleJDK
- 去Oracle官网下载。
- 解压并移动到自己想放的位置
- 设置环境变量并使之生效
问题:在命令行用链接下载的jdk,无法解压,是压缩包的问题,在Ubuntu中用浏览器下载好后找到位置,再用命令tar –zxvf 解压就可以了
2.Android-studio的安装:https://blog.csdn.net/zhulichen/article/details/73198097(我反复装了很多遍才成功。)
先在64位Ubuntu系统中安装32位Ubuntu库:
sudo apt-get install lib32z1 lib32ncurses5 libbz2-1.0:i386 lib32stdc++6
ROS包
1.Rosjava:http://wiki.ros.org/rosjava/Tutorials/kinetic/Source%20Installation
(这个很顺利,按照官方步骤没遇到任何问题)
2.Android_core:https://github.com/rosjava/rosjava_bootstrap/pull/73
(按照这上面博主提供的纯净安装
,即少装一个库可以成功,并且对后面的应用没有什么影响)
3.myandroid:http://wiki.ros.org/rosjava_build_tools/Tutorials/indigo/Creating%20Android%20Packages
- 跟着官网下载并替换工具版本
- 跟着官网走,这两步会报错
catkin_create_android_project -t 10 -p com.github.ros_java.android_foo.bar bar
catkin_create_android_library_project -t 13 -p com.github.ros_java.android_foo.barlib barlib
是版本号不对的原因。命令行输入 Available Android targets 查看本地版本号。将 -t 10和-t 13改为对应的 API level版本号。
例如:Available Android targets:
id: 1 or "android-28"
Name: Android 9
Type: Platform
API level: 28
Revision: 6
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
Tag/ABIs : no ABIs.
则将13和10改为28
到这里就搭建好了编译运行ros Android的所有环境。
导入并编译ROS Android程序
1.在命令行用命令catkin_make编译生成.apk安装包
https://blog.csdn.net/dingjianfeng2014/article/details/52847764
第二步中切换到src目录下,若本地已有程序源码复制到此目录即可;
若没有,也可以 git clone https://github.com/rosjava/android_apps克隆此博主提供的Android_apps
2.**打开Android studio,导入程序生成.apk安装包。**此方法也可导出你的Android app
3.App闪退问题终于搭好环境,并可以顺利导出apk,但是,安装到手机后你会发现可能闪退哦。是版本原因,这里就需要修改源码里的配置文件。