Skip to content
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

Android native physics #951

Merged
merged 5 commits into from
Nov 15, 2018

Conversation

joliver82
Copy link
Contributor

Recompiled bullet native libraries for android to match bullet 2.86.1 and latest updates from @stephengold. Changed Android.mk, Application.mk and build.gradle to properly compile with android ndk r16b and to avoid bullet opencl to be compiled because there is no opencl in android. Android ndk16b is used instead of newer ndk not to lose (almost useless) hardware compatibility because armeabi, mips and mips64 were removed in ndk17

Forum reference: https://hub.jmonkeyengine.org/t/native-physics-not-properly-working-on-android/40504

This PR overwrite cancelled PR at #864

@stephengold
Copy link
Member

Thank you for doing this. Did you run any tests?

@joliver82
Copy link
Contributor Author

I rebuilt the game I'm developing right now which uses vehicle control and some joints and works as expected and even performs a little better than my previous native compilation. Compilation included in jme3 now breaks at least vehicle control.

I've not tested anything more specific

Also... I've noticed issue #915 would it be possible to include also automatic compilation in CI? With the mk's and gradle modifications I've made, it's as easy as running "grade updatePreCompiledBulletLibs" for jme3-bullet-native-android subproject

@stephengold
Copy link
Member

Thanks for your answer regarding testing.

I'll leave integration for another day in case anyone else wishes to comment.

Regarding continuous integration, I'm unsure how difficult that would be to set up. I had the impression that building jme3-bullet-native-android required installation of some tools. (Building on my desktop fails with an unenlightening execCommand == null! diagnostic.) Those tool installs would probably have to automated.

@joliver82
Copy link
Contributor Author

The "exexCommand == null!" error may just mean you don't have android ndk installed in the path defined in gradle.properties previously /opt/android-ndk-r10c and now /opt/android-ndk-r16b

@stephengold
Copy link
Member

stephengold commented Nov 15, 2018

That sounds plausible. So, to set up continuous integration, installation of the android ndk in that path would need to be automated.

@joliver82
Copy link
Contributor Author

I've just moved away my Android ndk and got the exact same error, so properly setting ndk to the gradle path should suffice ;)

@stephengold stephengold merged commit 2b1c3d2 into jMonkeyEngine:master Nov 15, 2018
@stephengold stephengold added this to the v3.2.2 milestone Dec 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants