-
Notifications
You must be signed in to change notification settings - Fork 135
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
Add android support for API >= 27 #128
base: master
Are you sure you want to change the base?
Conversation
Update fork from upstream
…dated build.cs to reference it when building for android.
As a note - I'm currently getting an error when trying to receive image data into UE4 on Android:
At least I assume it's on the
Indicating that the PointCloud2 message was properly received (in UE4 on Android) and deserialized. I'm hoping it's unrelated to the libbson version, but it may be. |
Update: I have confirmed that the error reported above occurs when parsing the I'll see if I can figure out why it's failing to parse the It also fails to parse the
followed by a lot of
|
Further Update: I've confirmed that the same errors occur when receiving Path data / Image data on Windows - so it is not specific to the android bson library I built. I am able to successfully receive pointcloud data on Windows and Android, but unable to receive path or image data on either platform. |
Update:
Windows and Mac:
Android:
|
What this PR does
libbson-static-android-1.0.a
for use with Android targets.Using ROSIntegration on Android
To use with UE4 on Android, you'll need to
Project Settings -> Platforms -> Android SDK :: NDK API Level
to beandroid-27
or higher since that's what I built libbson with.Building libbson
The libbson static library was built from libbson with the following commands (in powershell on windows):
The default android API UE4 supports (android-19 on 4.24) is too low for libbson to build, as it requires some things like stderr which were not added until later. I'm not exactly sure which API is the minimum, but I have selected API 27 for now.
Notes:
I wasn't sure which libbson version you used when building yours; I selected libbson 1.9.0.
Testing
I have tested that I am able to send messages from my android phone (Pixel 2XL) to an Ubuntu 18.04 VM on my Windows 10 desktop via WiFi.
bob@ubuntu ~/dev/roshi/src master ● rostopic list /client_count /clock /nav_msgs /rosout /rosout_agg /tf /unreal_ros/spawn_objects /unreal_ros/spawn_objects_array
e.g.
bob@ubuntu ~/dev/roshi/src master ● rostopic hz /nav_msgs subscribed to [/nav_msgs] average rate: 1.890 min: 0.529s max: 0.529s std dev: 0.00000s window: 2 average rate: 1.987 min: 0.458s max: 0.529s std dev: 0.03208s window: 4 average rate: 1.999 min: 0.458s max: 0.529s std dev: 0.02514s window: 6 average rate: 1.999 min: 0.458s max: 0.529s std dev: 0.02136s window: 8 average rate: 1.988 min: 0.458s max: 0.541s std dev: 0.02382s window: 10 average rate: 1.998 min: 0.458s max: 0.541s std dev: 0.02237s window: 12