其他分享
首页 > 其他分享> > android – ExceptionInInitializerError物理世界

android – ExceptionInInitializerError物理世界

作者:互联网

我在一些论坛上搜索过,这似乎是一个常见的问题.但是,我无法找到解决方案.我没有做任何疯狂的事情,所以似乎只会发生这种情况.

@Override
protected Scene onCreateScene() {
    Scene s = new Scene();
    PhysicsWorld mWorld=new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH),true);
    s.registerUpdateHandler(mWorld);
    final Sprite eliSprite = new Sprite(400, 240, james_walking[3], getVertexBufferObjectManager());
    eliSprite.setScale(0.5f);
    s.attachChild(eliSprite);
    s.setTouchAreaBindingOnActionDownEnabled(true);
    return s;
}

我没有更多的话要说,因为我对Andengine知之甚少,所以假人的解释会被贬低.
   在添加了你所说的错误之后,然而PhysicsWorld仍然无法工作. logcat说

02-27 17:07:51.153    2590-2639/com.company.m.appname D/dalvikvm﹕ No JNI_OnLoad found in /data/data/com.company.m.appname/lib/libandenginephysicsbox2dextension.so 0x41cdce70, skipping init

解决方法:

您的APK可能缺少原生库(来自lib目录的.so文件).检查项目设置/构建配置.

如果您正在使用android studio,则必须在build.gradle中修改andEngine和andEnginePhysicsBox2DExtension的sourceSet.

在项目中有一个文件夹,其中有这样的文件,您需要从那里包含本机库.

在这里查看我的答案:jniLibs are not extended in gradle

根据您的评论更新:

将此添加到andEngine,andEnginePhysicsBox2d和您的游戏build.gradle:

sourceSets {
    main {
        jni.srcDirs = []
        jniLibs.srcDir 'libs'
    }
}

同时将其添加到defaultConfig部分,对于andEngine:

ndk {
   moduleName "andEngine"
}

和forEnginePhysicsBox2d:

ndk {
    moduleName "andEnginePhysicsBox2dExtension"
}

标签:andengine,android
来源: https://codeday.me/bug/20191003/1846419.html