Mobile-SDK-Android-V5
Mobile-SDK-Android-V5 copied to clipboard
MSDK NDK version conflict
I have trouble using MSDK live streaming features, they throw UnsatisfiedLinkError. I investigated and found out that both MSDK and Mapbox include libc++_shared.so but with conflicting versions. (https://sdk-forum.dji.net/hc/en-us/community/posts/19272641695001-ILiveStreamManager-UnsatisfiedLinkError-in-5-4-0?page=1)
Based on a comment from that thread, MSDK uses NDK 16b and based on a Mapbox changelog (https://github.com/mapbox/mapbox-maps-android/blob/a2b6dbc6da9667dc111c1e00a1b244147e45c198/CHANGELOG.md?plain=1#L180), Mapbox uses NDK 23.
Would it be possible to upgrade the MSDK's NDK version to a more recent one since the NDK 16b is about 6 years old? It would allow more compatibility with third party libraries. Or alternatively static link the NDK, would that avoid the problem altogether? (I'm not sure is static linking even possible and what are the consequences)
Agent comment from yating.liao in Zendesk ticket #94142:
We have noticed an issue with conflicts between Mapbox and the SDK. However, MSDK no longer supports Mapbox, so we are currently deciding whether it is necessary to update the NDK version.
°°°
Please consider updating NDK since this issue also exists with the latest version of Maplibre map.
Agent comment from yating.liao in Zendesk ticket #94142:
Are you sure that version 10.2.0 is not working? The Mapbox version used in both the 10.2.0 version and the current 9.4.2 version is the same.
°°°
Agent comment from yating.liao in Zendesk ticket #94142:Are you sure that version 10.2.0 is not working? The Mapbox version used in both the 10.2.0 version and the current 9.4.2 version is the same.
°°°
Well. Maybe it has a conflict with OpenCV 4.8.0. Anyway I can't use the streaming functions because of the similar error. It would be nice to keep the NDK version up to date.
The issue has been fixed in version 5.9.