Android - Animation Error: com.jme3.renderer.RendererException: compile error

I exported an simple animated ogre .mesh.xml(and .material、.skeleton.xml) from Maya2012 with OgreMax-plugin.

And i import them into my JME-project which has simple code to play an animation. When i run it in jme-desktop-emulator, it was ok, but if i run it in my phone(Android 2.3.3),crash happend.



Android-logcat-info like this:



07-18 18:07:14.117: E/OGLESShaderRenderer(9670): Errooooooooooot(3)

07-18 18:07:14.140: E/AndroidHarness(9670): com.jme3.renderer.RendererException: compile error in:ShaderSource[name=Common/MatDefs/Light/Lighting.frag, defines, type=Fragment] error:(36:0) : error : Not expected token(’&&’) in expression.

07-18 18:07:14.140: E/AndroidHarness(9670): (148:0) : error : Not expected token(’&&’) in expression.

07-18 18:07:14.140: E/AndroidHarness(9670): (250:0) : error : Not expected token(’&&’) in expression.

07-18 18:07:14.148: E/AndroidHarness(9670): SEVERE AndroidHarness 下午6:07:14 Exception thrown in Thread[GLThread 11,5,main]: at com.jme3.renderer.android.OGLESShaderRenderer.updateShaderSourceData(1086)

07-18 18:07:14.148: E/AndroidHarness(9670): at com.jme3.renderer.android.OGLESShaderRenderer.updateShaderData(1131)

07-18 18:07:14.148: E/AndroidHarness(9670): at com.jme3.renderer.android.OGLESShaderRenderer.setShader(1236)

07-18 18:07:14.148: E/AndroidHarness(9670): at com.jme3.material.Material.renderMultipassLighting(789)

07-18 18:07:14.148: E/AndroidHarness(9670): at com.jme3.material.Material.render(1016)



Any help? Thanks!

All my code are here:



[java]public class Main extends SimpleApplication

implements AnimEventListener, ActionListener {



private AnimChannel channel;

private AnimControl control;



public static void main(String[] args) {

Main app = new Main();

app.start();

}



@Override

public void simpleInitApp() {

flyCam.setMoveSpeed(10f);

cam.setLocation(new Vector3f(6.4013605f, 7.488437f, 12.843031f));

cam.setRotation(new Quaternion(-0.060740203f, 0.93925786f, -0.2398315f, -0.2378785f));



DirectionalLight dl = new DirectionalLight();

dl.setDirection(new Vector3f(-0.1f, -0.7f, -1).normalizeLocal());

dl.setColor(new ColorRGBA(1f, 1f, 1f, 1.0f));

rootNode.addLight(dl);



Spatial model = (Spatial) assetManager.loadModel("Models/ff.j3o");

model.center();



control = model.getControl(AnimControl.class);

control.addListener(this);

channel = control.createChannel();



for (String anim : control.getAnimationNames())

System.out.println(anim);



channel.setAnim("run");

rootNode.attachChild(model);

}



@Override

public void simpleUpdate(float tpf) {

super.simpleUpdate(tpf);



}





public void onAnimCycleDone(AnimControl control, AnimChannel channel, String animName) {



}



public void onAnimChange(AnimControl control, AnimChannel channel, String animName) {

}



public void onAction(String binding, boolean value, float tpf) {





}



}

[/java]

Just don’t use trunk, use the stable version. (branches/3.0beta)

What is your device, please?

@normen

Thank you for your advices, but my jme-sdk-version is already the 3.0beta, like this(info from sdk menu: help-about):



[java]Product Version: jMonkeyEngine SDK 3.0beta

Java: 1.7.0_03; Java HotSpot™ Server VM 22.1-b02

System: Windows XP version 5.1 running on x86; GBK; zh_CN (jmonkeyplatform)

Userdir: C:Documents and SettingsuserApplication Data.jmonkeyplatform3.0beta[/java]



@nehon

My device is a local product: ZTE-T U880

CPU: ARMv6 - 806MHZ

GPU: Marvell - GC530

OpenGL-Support: OpenGL ES 2.0

Android Version: 2.3.7

The SDK you can update with Help-> Check for Updates