Unsupported architecture armv7l

Hi,

I am trying to make my SimpleApplication work with AndroidHarness and I am getting the following error:

SEVERE Class com.gmrodrigues.fretsmith.demo.jmonkey.CatalogJME3 init failed
    java.lang.UnsupportedOperationException: Unsupported architecture: armv7l
        at com.jme3.system.JmeSystemDelegate.is64Bit(JmeSystemDelegate.java:152)
        at com.jme3.system.JmeSystemDelegate.getPlatform(JmeSystemDelegate.java:159)
        at com.jme3.system.JmeDesktopSystem.initialize(JmeDesktopSystem.java:312)
        at com.jme3.system.JmeDesktopSystem.newContext(JmeDesktopSystem.java:231)
        at com.jme3.system.JmeSystem.newContext(JmeSystem.java:138)
        at com.jme3.app.Application.start(Application.java:385)
        at com.jme3.app.Application.start(Application.java:366)
        at com.jme3.app.SimpleApplication.start(SimpleApplication.java:131)
        at com.jme3.app.AndroidHarness.onCreate(AndroidHarness.java:228)
        at android.app.Activity.performCreate(Activity.java:6251)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2520)
        at android.app.ActivityThread.-wrap11(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5466)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Does it means my smartphone is not supported by jme3?

Yes and no,
armv7 itself is supported but jme can’t determine whether it’s 64bit or 32bit.

How do you currently get jme? Do you build it by source?

Not by source. got it from maven repository:

repositories {
        ...
        maven { url 'http://updates.jmonkeyengine.org/maven'}
    }
    
    def jmonkeyengine_version = '3.0'
    
    dependencies {
        ...
    
        // jMonkey
        compile "com.jme3:jme3-core:$jmonkeyengine_version.+"
        compile "com.jme3:jme3-effects:$jmonkeyengine_version.+"
        //compile "com.jme3:jme3-networking:$jmonkeyengine_version.+"
        //compile "com.jme3:jme3-plugins:$jmonkeyengine_version.+"
        //compile "com.jme3:jme3-jogg:$jmonkeyengine_version.+"
        //compile "com.jme3:jme3-terrain:$jmonkeyengine_version.+"
        //compile "com.jme3:jme3-blender:$jmonkeyengine_version.+"
        //compile "com.jme3:jme3-jbullet:$jmonkeyengine_version.+"
        compile "com.jme3:jme3-niftygui:$jmonkeyengine_version.+"
        compile "com.jme3:jme3-android:$jmonkeyengine_version.+"
        compile "com.jme3:jme3-lwjgl:$jmonkeyengine_version.+"
    }

It is fixed here:
https://github.com/jMonkeyEngine/jmonkeyengine/pull/443

Since you still use 3.0, you’d have to wait for 3.1-alpha3 to hit (which might be in a few days-weeks).
If you wanted to stay on 3.0 you’re a bit in trouble.
You could look for the 3.0 source code and then apply those changes.
Overriding the class might be nearly impossible though.

1 Like

Good. I’ll make the adjustments, Thank You.

1 Like

Alpha 3 will be early morning March 14th barring complications. I plan to push a new release every two weeks until Beta.

1 Like