I solved ambiguity problem by disabling the getProductTexture() which sends Texture to Native code. Now I can apply the texture in main Activity as well as in render activity. To update the texture dynamically I used jpct-ae's ReplaceTexture(). following is the code snippet (I am not sure this is the best way to it, but it works fine for me)\ try { modelstrm = new FileInputStream(new File(imagePath));
texstrm = new FileInputStream(new File(TexturePath));
System.out.println("Start loading crab md2 model");
try {
System.out.println("Start loading Texture");
TextureManager tm = TextureManager.getInstance();
if(!tm.containsTexture("new_texture")){
new_texture = new Texture(BitmapHelper.rescale(BitmapHelper.loadImage(texstrm), 512, 512));
tm.addTexture("new_texture", new_texture);
}
else{
old_texture = new Texture(BitmapHelper.rescale(BitmapHelper.loadImage(texstrm), 512, 512));
tm.replaceTexture("new_texture", old_texture);
}
System.out.println("End loading Texture");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}