[SOLVED] Android PhysicsSpace java.lang.UnsatisfiedLinkError

Recently I added physics to my game. I installed it to my android and got the following error

java.lang.UnsatisfiedLinkError: No implementation found for long…

Exception thrown in Thread[GLThread103611,5,main]
java.lang.UnsatisfiedLinkError: No implementation found for long com.jme3.bullet.PhysicsSpace.createPhysicsSpace(float,float,float,float,float,float,int) (tried Java_com_jme3_bullet_PhysicsSpace_createPhysicsSpace and Java_com_jme3_bullet_PhysicsSpace_createPhysicsSpace__FFFFFFIZ)

What I have done

  1. I cleaned and rebuilt the application in the SDK
  2. I copied libraries to android studio and rebuilt there
  3. I removed all my code only leaving the lines to create and attach
  4. I repeated steps 1 and 2.
  5. I googled the error “Java Virtual Machine (JVM) cannot find an
    appropriate native-language definition of a method declared as
  6. I searched the forms

SO either I am setting up my android project incorrectly or I need to add a native library.

I am following the steps found Here and Here.

I should note that the application works fine without BulletAppState.

After re-reading my post I see the question might not be clear.

Has anyone encountered an issue like this? If so what was your resolution?

I am not sure of this, but I remember I read normen saying something about bullet is not fully implemented for android yet (v3.0) not long time a go, so you may try to look on that …

Do you remember where you saw @normen 's post becouse it seems strange. I was able to compile and deploy jMonkeyEngine Test Applications to the same device I am having trouble with witch has examples I know are using the BulletAppState.

In a normal setup the jbullet library in a normal project gets replaced by the native bullet library for android - as you found out yourself that normally works, can’t say whats the issue with your setup. Maybe try creating a new project and copy the code over.

So just to confirm, jbullet dosent work with android, its replaced by native bullet right ?

yes, that happens automatically. jbullet does work but its painfully slow on android because the developer tried to outsmart the jvm.

I found a post “Moving to native bullet”" and I was wondering if jMonkeyEngine is now or when it is going native for physics?

You can already use native bullet on desktop as well - even in 3.0.

1 Like

So creating a new project didn’t work for me but uninstalling the SDK and reinstalling fixed my issue so I don’t know the root cause of my issue.

Just deleting your settings folder might have worked as well.

1 Like