Android 应用程序启动时对象框错误-未找到void io.objectbox.BoxStore.nativeDelete的实现(长)
正如标题所说 当我启动我的Android应用程序时,我得到以下错误Android 应用程序启动时对象框错误-未找到void io.objectbox.BoxStore.nativeDelete的实现(长),android,objectbox,Android,Objectbox,正如标题所说 当我启动我的Android应用程序时,我得到以下错误 No implementation found for void io.objectbox.BoxStore.nativeDelete(long) 我将在稍后添加我的完整build.gradle和应用程序代码,因为我很忙,但我认为我应该发布,以防有一个已知和明显的解决方案 我试过1.1.0和1.2.0 更新: 一些进一步的信息。我正试图在我的LibGDX项目中使用ObjectBox。LibGDX是一个跨平台的游戏库,您可以用J
No implementation found for void io.objectbox.BoxStore.nativeDelete(long)
我将在稍后添加我的完整build.gradle和应用程序代码,因为我很忙,但我认为我应该发布,以防有一个已知和明显的解决方案
我试过1.1.0和1.2.0
更新:
一些进一步的信息。我正试图在我的LibGDX项目中使用ObjectBox。LibGDX是一个跨平台的游戏库,您可以用Java编写代码,它提供了Android、iOS和桌面版本
我没有使用ObjectBox的Android实现,而是决定尝试使用Java版本,以便理论上它可以在所有三种平台上使用。我不确定,但也许这就是问题所在。在Android平台上使用Java版本
更新2:(Stacktrace)
使用ObjectBox的DB类
private void createMyObjectBox() throws IOException {
File tempFile = File.createTempFile("objectstorefile", "");
tempFile.delete();
boxStoreDir = tempFile;
Gdx.app.error("DB","tempfile="+tempFile);
Gdx.app.error("DB","boxstoredir="+boxStoreDir);
store = MyObjectBox.builder().directory(boxStoreDir).build();
}
如果我没有弄错的话,您只在Java项目中定义ObjectBox依赖项。似乎缺少的是特定于Android的工件:
compile "io.objectbox:objectbox-android:$objectboxVersion"
这包括共享库(本机.so文件)
其他说明:
- 确保所有库都具有一致的ABI支持。看起来您的LibGDX附带了armeabi,它非常旧,因此不包括在ObjectBox中。ObjectBox Android支持armeabi-v7a、arm64-v8a和x86。我建议从LibGDX设置中删除所有其他设置。否则,该应用程序可能会在某些设备上崩溃,因为它无法混合使用32位和64位库
- 您可以通过将compile
添加到linux机器的桌面项目中,尝试一下ObjectBox for desktop“io.ObjectBox:ObjectBox linux:$objectboxVersion”
- 您正在使用的ObjectBox版本已过时。请检查以获取最新版本
private void createMyObjectBox() throws IOException {
File tempFile = File.createTempFile("objectstorefile", "");
tempFile.delete();
boxStoreDir = tempFile;
Gdx.app.error("DB","tempfile="+tempFile);
Gdx.app.error("DB","boxstoredir="+boxStoreDir);
store = MyObjectBox.builder().directory(boxStoreDir).build();
}
compile "io.objectbox:objectbox-android:$objectboxVersion"