【问题标题】:Why does jar library work in Eclipse but not Android Studio?为什么 jar 库在 Eclipse 中有效,但在 Android Studio 中无效?
【发布时间】:2016-10-31 21:57:04
【问题描述】:

我有一个 jar 库(特别是 Rajawali v0.9),在使用和编译我的项目时可以在 Eclipse 中完美运行,但 Android Studio 在尝试编译时会出现大量错误。为什么会这样?有没有办法绕过特定 jar 库上的 lint?

编辑

由于一些不匹配,不得不通过 gradle 删除清单,但这是我尝试运行应用程序时的 logcat:

    java.lang.UnsatisfiedLinkError: Couldn't load bufferutil from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.pspdemocenter.graffitilwp-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.pspdemocenter.graffitilwp-1, /vendor/lib, /system/lib]]]: findLibrary returned null
    at java.lang.Runtime.loadLibrary(Runtime.java:358)
    at java.lang.System.loadLibrary(System.java:526)
    at rajawali.util.BufferUtil.<clinit>(BufferUtil.java:16)
    at rajawali.Geometry3D.setVertices(Geometry3D.java:506)
    at rajawali.Geometry3D.setVertices(Geometry3D.java:494)
    at rajawali.Geometry3D.setData(Geometry3D.java:259)
    at rajawali.BaseObject3D.setData(BaseObject3D.java:177)
    at rajawali.BaseObject3D.setData(BaseObject3D.java:154)
    at rajawali.BaseObject3D.setData(BaseObject3D.java:171)
    at rajawali.BaseObject3D.<init>(BaseObject3D.java:114)
    at com.pspdemocenter.graffitilwp.MyRenderer.LoadSerializedMesh(MyRenderer.java:65)
    at com.pspdemocenter.graffitilwp.MyRenderer.initScene(MyRenderer.java:119)
    at rajawali.renderer.RajawaliRenderer.onSurfaceCreated(RajawaliRenderer.java:362)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1244)

【问题讨论】:

  • 这么多错误是什么?你能从中得出最常见的吗?
  • @IntelliJAmiya 我熟悉那个链接。自从它是 Min3D 以来,我一直在使用 Rajawali。现在几年。不过谢谢。

标签: android eclipse android-studio jar


【解决方案1】:

你也可以像这样在 android studio 中使用 jar 库:-

第 1 步:现在在您的 app folder 下,您应该会看到 libs,如果您没有看到它,请创建它。

第二步:Drag &amp; Drop the .jar file here,你可能会得到一个提示"This file does not belong to the project",只需点击OK按钮。 p>

第3步:现在你应该看到libs文件夹下的jar文件,右键单击jar文件并选择"Add as library", Click OK for prompt "Create Library"

第 4 步:现在这个 jar 已添加。

【讨论】:

    【解决方案2】:

    在使用 Android Studio 时,Rajawali 更适用于 gradle。 Jar 不适用于 Android Studio,因为它具有 Gradle。 Eclipse 需要 jars,因为它不是从 Gradle 原生启动的。我自己研究了 Rajawali,关于它如何工作的唯一描述是使用 Gradle。

    编辑:

    也许这会有所帮助:Android Studio: Add jar as library?

    【讨论】:

    • 正确,新版本更适合 Gradle,但我需要继续使用 jar 格式的旧版本,因为我的应用程序需要该版本的功能。
    • 也许这会有所帮助:stackoverflow.com/questions/25660166/…
    • 感谢您的帮助,但我已经知道如何添加 jar 库以及外部库。我用其他应用程序做过多次。由于 Android Studio 中提供的功能,我希望使用 Android Studio 更新这个特定的应用程序。
    • 是否有可能因为我必须删除应用程序未注册 OpenGL api 的清单?
    • 也许可以,但你必须有一个清单。 Gradle 不会取代一切!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 2011-03-12
    相关资源
    最近更新 更多