[ros-users] [Discourse.ros.org] [Client Libraries/rosjava] Android support for API >= 26 (8, 8.1 and 9)

Juan Ignacio Ubeira ros.discourse at gmail.com
Wed Sep 12 13:22:08 UTC 2018

Hi everyone!

The current codebase for `android_core` does not get along very well with the latest Android APIs. I noticed some users were struggling a bit to get ROS running in Android Oreo as some questions popped up in ROS Answers. Furthermore, since November 2018 the apps released to the app store (or even updates to existing apps) will need to target API >= 26.

I've already sent a draft PR to [android_core](https://github.com/rosjava/android_core) and [android_apps](https://github.com/rosjava/android_apps) with some changes that should make the codebase compatible with API 28. 

There are some downsides:
- Making the codebase backwards compatible all the way down to API 10 and 15 as it is now is becoming a headache. My suggestion is to rise the minimum API version to 16, and merge `android_10` and `android_15` packages in a single package, namely `android_core_components`. I really don't think anyone is running a ROS application in an Android 15 phone by now, considering the [platform version distribution](https://developer.android.com/about/dashboards/?hl=en-419); please let me know otherwise.
- Android build tools 26+ doesn't have the `android` command, which was used by `rosjava_build_tools` to create Android projects from the command line. The current standard AFAIK is creating an app from Android Studio directly. See [this issue](https://github.com/rosjava/rosjava_build_tools/issues/31) for more details. A python script can be created in the future and make use of some templates if necessary.

If you have any suggestions or ideas regarding this please let me know!

[Visit Topic](https://discourse.ros.org/t/android-support-for-api-26-8-8-1-and-9/6037/1) or reply to this email to respond.

More information about the ros-users mailing list