2017-10-19 80 views
1

更新:已解決!閱讀我自己的答案,我接受!使用ObjectBox與Libgdx

原貼:

我想在我的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。

有沒有工作?

(我知道這是小生和一個長鏡頭...)

編輯:

我做了一些更多的挖掘,並期待在APK lib文件夾下,使用ObjectBox的APK,我有4個文件夾

arm64-v8a 
armeabi 
armeabi-v7a 
x86 

在沒有ObjectBox(工作)的APK我

armeabi 
armeabi-v7a 
x86 

在arm64-v8a文件夾中,libgdx沒有任何內容。看到我的設備是這種類型的,我認爲它正在尋找它並沒有發現任何東西。慢着,這給了我一個想法......

+1

這是發生在x86模擬器還是ARM設備上? – Xiao

+0

我的銀河S8嗯!?檢查並且它說arm64-v8a。 –

回答

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文件夾,但一旦找到它,它會在那裏和其他地方搜索。

感謝肖讓我在正確的道路上。

+1

很高興我可以幫助:)我估計你將解決方案移到這個答案並接受它,以防其他人有相同的問題 – Xiao

+1

不能接受另一個24小時,但我會 –