0

我正在尝试在我的项目中包含 andenginephysicsbox2d-extension。使用 eclipse 很容易(只需导入项目并包含在路径中)

但现在我正试图在 android studio 中做到这一点

我尝试了这两种方法并在它们中都出现异常

方法一:包含andenginephysicsbox2dextension.jar

这会导致以下运行时异常:

E/AndroidRuntime﹕ FATAL EXCEPTION: UpdateThread
java.lang.UnsatisfiedLinkError: Couldn't load andenginephysicsbox2dextension from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.myproject.myproject-2.apk,libraryPath=/data/app-lib/com.myproject.myproject-2]: findLibrary returned null
        at java.lang.Runtime.loadLibrary(Runtime.java:355)
        at java.lang.System.loadLibrary(System.java:525)
        at org.andengine.extension.physics.box2d.PhysicsWorld.<clinit>(PhysicsWorld.java:35)

方法2:包含和EnginePhysicsBox2DExtension项目

这会导致编译错误:

    Error:Execution failed for task ':andEnginePhysicsBox2DExtension:compileReleaseNdk'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    C:\Program Files\Android\android-ndk-r10\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\MYUSER\AndroidstudioProjects\myproject\andEnginePhysicsBox2DExtension\build\intermediates\ndk\release\Android.mk APP_PLATFORM=android-14 NDK_OUT=C:\Users\MYUSER\AndroidstudioProjects\myproject\andEnginePhysicsBox2DExtension\build\intermediates\ndk\release\obj NDK_LIBS_OUT=C:\Users\MYUSER\AndroidstudioProjects\myproject\andEnginePhysicsBox2DExtension\build\intermediates\ndk\release\lib APP_ABI=all
Error Code:
    1 

有人设法将此扩展导入到 android studio 吗?

我究竟做错了什么?

4

2 回答 2

0

您可以继续使用方法1:

  • 包括andenginephysicsbox2dextension.jar
  • 在您的应用程序项目目录中创建一个名为的文件夹jniLibs并复制armeabi,armeabi-v7ax86 文件夹到它
于 2014-08-06T08:40:22.650 回答
0

您的项目正在忽略扩展项目中的 .so 文件。

你可以在这里按照我的回答https://stackoverflow.com/a/34068202/2026280

或者

它非常简单。按照这个简单的步骤

1)在主应用程序的 libs 文件夹中创建一个名为“lib”的新文件夹。

2)从 andEnginePhysicsBox2DExtension /libs文件夹中复制所有文件夹 ie.armabi 、 armabi-v7a 等,并粘贴到主应用程序中先前创建的“lib”文件夹中。

3)现在将"lib"文件夹压缩为"lib.zip"并将其重命名为"lib.jar"。这会将zip扩展名更改为jar

4)最后在你的主应用的Build.gradle文件中添加一行 -- compile files('lib.jar') under dependencies{} 。

5)清理并构建项目。

于 2015-12-03T14:23:13.513 回答