-
Notifications
You must be signed in to change notification settings - Fork 109
Update Android instructions #125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@jacobperron this is awesome, thanks! I'll add my progress here as well and hopefully we can update the CI shortly. One comment, though. The android repos file should be kept as minimal as possible, some of the packages may not work (e.g. I haven't tested Thanks again! |
README.md
Outdated
| -DCOMPILE_EXAMPLES=OFF | ||
|
|
||
| # TODO: These options may still need to be adapted | ||
| # -DCMAKE_FIND_ROOT_PATH="$AMENT_WORKSPACE/install_isolated;$ROS2_ANDROID_WORKSPACE/install_isolated" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is what is causing CMake not to be able to find the ament packages, I'll compile this PR with this enabled and hopefully it should work.
+1 I wasn't sure what packages are desired. Feel free to reduce scope for packages that don't make sense. |
|
@jacobperron one of the tests fails for desktop (rcljava_tests_org.ros2.rcljava.node.NodeTest) on the CI, does it pass for you locally? There's an issue building the examples for Android caused by Gradle, I'll look into that and once all this is fixed we can merge these changes into dashing and then into master (finally!) |
|
@esteve looks like |
|
I wasn't able to reproduce the NodeTest failure. Not sure where it is going wrong. |
|
@jacobperron I've updated the instructions with the steps for Android. The Gradle plugin is not working currently with colcon, so I'm only building up to rcljava. |
Awesome, thanks! Do you want to open a ticket for the issue with Gradle plugin or wait until we fix it as part of this PR? I've pushed few more changes to make CI more portable. |
|
@jacobperron I missed your last comment, sorry. I've created #137 I'll update the description later when I have a better idea of why it's failing, but I think it's best to move on and merge this when a big note that warns users that the Gradle plugin does not work. |
193bd7d to
5e2b12c
Compare
This is a work in progress, still troubleshooting build issues. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Now the repos file contains all packages in the upstream dashing repos file, without the Qt packages: https://github.com/ros2/ros2/blob/dashing/ros2.repos Signed-off-by: Jacob Perron <jacob@openrobotics.org>
…ot available on Android
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
be6fe3e to
0a231ea
Compare
* Use curl for consistency Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update build badges Currently, we only have CI for Dashing on Linux. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update URLs Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Minor formatting changes Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update build instructions for desktop Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Use different header markdown syntax For more granularity in header levels. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Fix whitespace formatting Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Formatting Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add ref to ticket for ROS time Signed-off-by: Jacob Perron <jacob@openrobotics.org> * 'merge install' for Windows Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Fix typo Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update Android instructions with CI (#125) * Update Android instructions This is a work in progress, still troubleshooting build issues. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update Android repos file Now the repos file contains all packages in the upstream dashing repos file, without the Qt packages: https://github.com/ros2/ros2/blob/dashing/ros2.repos Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Added job for Android * Only build the rcljava subset of dependencies * Fix URL * Replace ros-tooling scripts with plain commands * Fix typo * Install vcstool for vcs * Install Android NDK * Add ros2_java workspace to CMake find root path * Disable building tests * Do not build osrf_testing_tools_cpp as it uses execinfo.h, which is not available on Android * Workaround for Android * Reenable building tests * Skip cyclonedds for now * Install lark parser * Install python3-dev * Pass PYTHON_LIBRARY and PYTHON_INCLUDE_DIR to the CMake Python module * Skip rcl_logging_log4cxx * Use rmw fork for Android. Skip CycloneDDS packages * Revert to 1.6 * Configure log4j dynamically to avoid errors when building for Android * Configure log4j dynamically to avoid errors when building for Android * Switch to jacob/instructions temporarily * Fix compilation error * Trim repos file for Android * Readd googletest repo * Fix missing import * Build entire workspace * Only build up to the Android examples * Install colcon extensions for Gradle * Revert changes for desktop * Move ros2_android repo to ros2-java org * Install Gradle * Build rcljava_examples * Install Gradle * Do not build rcljava_examples temporarily * Update README.md * Do not use fork * Use repos files from GitHub workspace Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add checkout action for cloning the branch to test Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Use version of ros2_java in the branch being tested Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Switch back to dashing branch Signed-off-by: Jacob Perron <jacob@openrobotics.org> Co-authored-by: Esteve Fernandez <esteve@apache.org> Co-authored-by: Esteve Fernandez <esteve@apache.org>
* Use curl for consistency Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update build badges Currently, we only have CI for Dashing on Linux. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update URLs Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Minor formatting changes Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update build instructions for desktop Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Use different header markdown syntax For more granularity in header levels. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Fix whitespace formatting Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Formatting Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add ref to ticket for ROS time Signed-off-by: Jacob Perron <jacob@openrobotics.org> * 'merge install' for Windows Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Fix typo Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update Android instructions with CI (#125) * Update Android instructions This is a work in progress, still troubleshooting build issues. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update Android repos file Now the repos file contains all packages in the upstream dashing repos file, without the Qt packages: https://github.com/ros2/ros2/blob/dashing/ros2.repos Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Added job for Android * Only build the rcljava subset of dependencies * Fix URL * Replace ros-tooling scripts with plain commands * Fix typo * Install vcstool for vcs * Install Android NDK * Add ros2_java workspace to CMake find root path * Disable building tests * Do not build osrf_testing_tools_cpp as it uses execinfo.h, which is not available on Android * Workaround for Android * Reenable building tests * Skip cyclonedds for now * Install lark parser * Install python3-dev * Pass PYTHON_LIBRARY and PYTHON_INCLUDE_DIR to the CMake Python module * Skip rcl_logging_log4cxx * Use rmw fork for Android. Skip CycloneDDS packages * Revert to 1.6 * Configure log4j dynamically to avoid errors when building for Android * Configure log4j dynamically to avoid errors when building for Android * Switch to jacob/instructions temporarily * Fix compilation error * Trim repos file for Android * Readd googletest repo * Fix missing import * Build entire workspace * Only build up to the Android examples * Install colcon extensions for Gradle * Revert changes for desktop * Move ros2_android repo to ros2-java org * Install Gradle * Build rcljava_examples * Install Gradle * Do not build rcljava_examples temporarily * Update README.md * Do not use fork * Use repos files from GitHub workspace Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add checkout action for cloning the branch to test Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Use version of ros2_java in the branch being tested Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Switch back to dashing branch Signed-off-by: Jacob Perron <jacob@openrobotics.org> Co-authored-by: Esteve Fernandez <esteve@apache.org> Co-authored-by: Esteve Fernandez <esteve@apache.org>
This is a work in progress; still troubleshooting build issues.
Changes made so far:
colconinstead ofament buildANDROID_STLvalue toc++_shared(asgnustl_sharedis no longer supported)I've left commented out additional build options that I'm not sure how to port to the new colcon command.
Following the steps in in this PR, I get the following build error with
ament_cmake_libraries:I'm not sure what's going wrong.