将ObjectBox与Libgdx一起使用

时间:2017-10-19 23:06:09

标签: android libgdx objectbox

更新:已解决!阅读我接受的自己的答案!

原始邮件:

我正在尝试在我的Libgdx Android项目中使用ObjectBox。

然而,当我按照Android指南操作时,我的应用程序崩溃了

Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load shared library 'gdx' for target: Linux, 32-bit

我看到有一个桌面gradle设置,我认为你应该使用这个吗?由于Libgdx并不是一个真正的Android项目,它只是LWJGL中的纯Java,只是位于一个空的Activity中。

任何人都有这个工作吗?

(我知道这是利基和长镜头......)

编辑:

我已经做了一些挖掘并查看了lib文件夹下的apk,在apk上使用ObjectBox,我有4个文件夹

arm64-v8a
armeabi
armeabi-v7a
x86

在没有ObjectBox的apk上(有效)我​​有

armeabi
armeabi-v7a
x86

在arm64-v8a文件夹中,libgdx没有任何内容。看到我的设备就是那种类型,我认为它正在寻找并找不到任何东西。等等,这给了我一个想法...

1 个答案:

答案 0 :(得分:2)

因为ObjectBox为arm64-v8a的附加现代文件夹创建.so文件,而我的libgdx设置没有行

natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"

file("libs/arm64-v8a/").mkdirs();
if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")

因为我的手机使用该文件夹(如果可以的话),它没有找到任何要使用的gdx文件。

将上述行添加到我的gradle文件后,一切正常。

我的手机(三星S8)使用arm64-v8a,所以它使用该文件夹(如果存在)。我只能假设文件夹丢失时默认为diff文件夹,但一旦找到它,就会搜索到其他地方。

感谢肖让我走上了正确的道路。