这是旧的eclipse项目,我正在尝试使其在Android Studio上运行。该应用程序的目的是显示3D图像模型。该项目使用了kitware android库。当我在Android设备上运行apk时,出现以下错误。
java.lang.UnsatisfiedLinkError: No implementation found for void com.kitware.KiwiViewer.KiwiNative.init(int, int) (tried Java_com_kitware_KiwiViewer_KiwiNative_init and Java_com_kitware_KiwiViewer_KiwiNative_init__II)
at com.kitware.KiwiViewer.KiwiNative.init(Native Method)
at com.kitware.KiwiViewer.MyRenderer.onSurfaceCreated(MyRenderer.java:43)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1539)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
这是MyRenderer.java类
import android.opengl.GLSurfaceView;
import android.opengl.GLSurfaceView.Renderer;
import java.util.ArrayList;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
/* compiled from: KiwiGLSurfaceView */
class MyRenderer implements Renderer {
public boolean isInitialized = false;
public ArrayList<Runnable> mPostInitRunnables = new ArrayList();
public ArrayList<Runnable> mPreRenderRunnables = new ArrayList();
public GLSurfaceView parentView;
MyRenderer() {
}
synchronized void queuePostInitEvent(Runnable runnable) {
this.mPostInitRunnables.add(runnable);
}
synchronized void queuePreRenderEvent(Runnable runnable) {
this.mPreRenderRunnables.add(runnable);
}
public void onDrawFrame(GL10 gl) {
if (KiwiNative.render()) {
this.parentView.setRenderMode(1);
} else {
this.parentView.setRenderMode(0);
}
while (this.mPreRenderRunnables.size() > 0) {
((Runnable) this.mPreRenderRunnables.remove(0)).run();
}
}
public void onSurfaceChanged(GL10 gl, int width, int height) {
KiwiNative.reshape(width, height);
}
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
KiwiNative.init(100, 100);
this.isInitialized = true;
while (this.mPostInitRunnables.size() > 0) {
((Runnable) this.mPostInitRunnables.remove(0)).run();
}
}
}