Trouble Building SDK for Android-28


#1

Hi,

I am trying to build the SDK for Android-28. I had to make some edits to the repos to get the make_toolchain_standalone.py to work. However, now the compiler is not able to find the Android Headers when it builds the native code. Where would I put the include instruction to direct the compiler to the right place for the Android headers?

SDK version: [3.14.0]
Use of libARController: [YES]
SDK platform: [Android]


#2

Hi,

The SDK sources are not compatible with the latest Android NDKs. We use the r15c NDK internally to build the FreeFlight Pro app. Moreover, the SDK targets API 14 for non-64bits builds, and API 21 for those builds (these are the minimum API level on which the app will run)

Updating the NDK to a newer version will require changes in the codebase (IIRC, r16 forces unified headers, which seems to be the problem you have here, while r18 forces clang/libc++ instead of gcc/gnustl that we are using).

Unless you have a requirement to use some native APIs only available on a newer API version (r15c supports up to API 26), you should have no problem with using r15c for building our SDK.

Regards,
Nicolas.


The command to build the SDK for Android platform throws error
#3

Hi Nicolas!

Thanks for the quick response and info.

I downloaded a fresh copy of the repos and followed the instructions listed here: https://developer.parrot.com/docs/SDK3/#android-build

However, I run into this error:

Installing Android-14 toolchain from NDK
usage: make_standalone_toolchain.py [-h] --arch {arm,arm64,x86,x86_64}
[–api API] [–stl STL] [–force] [-v]
[–package-dir PACKAGE_DIR | --install-dir INSTALL_DIR]
make_standalone_toolchain.py: error: unrecognized arguments: --deprecated-headers

What version of the NDK are you guys using?

Thanks,

Tyler


#4

Nvm, I finally understand that r15c NDK refers to the version. Sorry for my incompetence lol.