Android 例外初始化错误物理世界

Android 例外初始化错误物理世界,android,andengine,Android,Andengine,我在许多论坛上搜索,这似乎是一个常见的问题。但是我找不到解决办法。我没有做任何疯狂的事,所以发生这种事似乎很奇怪 @Override protected Scene onCreateScene() { Scene s = new Scene(); PhysicsWorld mWorld=new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH),true); s.registerUpdateHandler(mW

我在许多论坛上搜索,这似乎是一个常见的问题。但是我找不到解决办法。我没有做任何疯狂的事,所以发生这种事似乎很奇怪

@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;
}
我没有太多的话要说,因为我不太了解安德林,所以一个傻瓜的解释是值得的。 添加您所说的内容后,错误消失,但是物理世界仍然不工作。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 dir中的文件。检查项目设置/生成配置

如果您使用的是android studio,则必须在build.gradle中修改andEngine和andenginephysicsBox2Extension的源集

如果项目中有一个文件夹,其中包含so文件,则需要包含其中的本机库

在这里检查我的答案:

根据您的评论更新:

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

sourceSets {
    main {
        jni.srcDirs = []
        jniLibs.srcDir 'libs'
    }
}
还可以将其添加到defaultConfig部分,对于andEngine:

ndk {
   moduleName "andEngine"
}
对于andEnginePhysicsBox2d:

ndk {
    moduleName "andEnginePhysicsBox2dExtension"
}

可能是本机库。因此APK中缺少lib dir中的文件。检查项目设置/生成配置

如果您使用的是android studio,则必须在build.gradle中修改andEngine和andenginephysicsBox2Extension的源集

如果项目中有一个文件夹,其中包含so文件,则需要包含其中的本机库

在这里检查我的答案:

根据您的评论更新:

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

sourceSets {
    main {
        jni.srcDirs = []
        jniLibs.srcDir 'libs'
    }
}
还可以将其添加到defaultConfig部分,对于andEngine:

ndk {
   moduleName "andEngine"
}
对于andEnginePhysicsBox2d:

ndk {
    moduleName "andEnginePhysicsBox2dExtension"
}

抱歉,但是我如何检查呢?您是使用eclipse还是intellij/android studio构建项目的?我不知道您的andEngine项目中的文件夹,因为它可以使用eclipse层次结构,它位于libs文件夹中,并且可以使用新的层次结构。检查andEnginePhysicsBox2D.ok中的.so文件,我在andEnginePhysicsBox2D模块中有一个libs/aremabi_v7a文件夹。我该怎么办呢?虽然错误已经消失,但PhysicsWorld仍然不起作用,对不起,但我该如何检查呢?你是用eclipse还是intellij/android studio构建项目的?我不知道你的andEngine项目中的文件夹,因为它可以使用eclipse层次结构,它位于libs文件夹中,并且可以使用新的层次结构。检查andEnginePhysicsBox2D.ok中的.so文件,我在andEnginePhysicsBox2D模块中有一个libs/aremabi_v7a文件夹。我该怎么办呢?错误已经消失了但物理世界仍然不起作用,