Build all Android ABIs available in NDK r16b. #173
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The most recent versions of the NDK don't support the "mips", "mips64", and "armeabi" ABIs, but we still do ship those with the binary C++ SDK to support older devices. This change adds a check to our Android gradle build, which determines whether a custom NDK is being used (as we do in our packaging step), and builds those additional ABIs if the NDK version is the one we expect.
Our custom Android build script supports building with NDK r16b to enable all 3 STL variants as well as the aforementioned older ABIs.
This change also includes an option to build the armeabi-v7a-hard ABI, which was removed a few years ago and subsumed into armeabi-v7a, and thus shouldn't normally be required. (But if you do need armeabi-v7a-hard for some reason, you can use NDK r11c.)