Tôi đã tạo trò chơi bằng libgdx và nó chạy tốt trên cả máy tính để bàn và Android trước đây. Tôi không chắc liệu nó có phải vì tôi bắt đầu sử dụng động cơ vật lý box2d và các hạt liquidfun, điều cơ bản xảy ra là khi tôi nhấp vào chơi trên trò chơi của tôi, nó bắt đầu tải sau khi tải nó nên vào gameScreen, nhưng sau đó nó đổ vỡ , myGame đã dừng lại ".Trò chơi Libgdx gặp sự cố trên Android
thông báo lỗi:
E/AndroidRuntime: FATAL EXCEPTION: GLThread 3764
Process: com.nivekbryan.puffypuff, PID: 8416
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/badlogic/gdx/physics/box2d/World;
Tôi đi theo setup tutorial này về cách cổng liquidfun thư viện, nó từ năm 2014 kinda cũ. Trò chơi chạy Ok dưới dạng ứng dụng dành cho máy tính để bàn.
Đây là tệp build.gradle (phụ thuộc) của tôi, vấn đề có thể là gì? và tại sao làm việc như ứng dụng máy tính để bàn chứ không phải là ứng dụng android?
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}
dependencies {
classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.1.0'
}
}
allprojects {
apply plugin: "eclipse"
apply plugin: "idea"
version = '1.0'
ext {
appName = "Puffy Puff"
gdxVersion = '1.9.3'
roboVMVersion = '2.1.0'
box2DLightsVersion = '1.4'
ashleyVersion = '1.7.0'
aiVersion = '1.8.0'
admobVersion = '8.3.0'
}
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven { url "https://oss.sonatype.org/content/repositories/releases/" }
}
}
project(":desktop") {
apply plugin: "java"
dependencies {
compile project(":core")
compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop"
compile fileTree(dir: 'libs', include: '*.jar')
}
}
project(":android") {
apply plugin: "android"
configurations { natives }
dependencies {
compile project(":core")
compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"
compile "com.google.android.gms:play-services-ads:8.3.0"
compile fileTree(dir: 'libs', include: '*.so')
}
}
project(":ios") {
apply plugin: "java"
apply plugin: "robovm"
dependencies {
compile project(":core")
compile "com.mobidevelop.robovm:robovm-rt:$roboVMVersion"
compile "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion"
compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"
}
}
project(":html") {
apply plugin: "gwt"
apply plugin: "war"
dependencies {
compile project(":core")
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion"
compile "com.badlogicgames.gdx:gdx:$gdxVersion:sources"
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources"
}
}
project(":core") {
apply plugin: "java"
dependencies {
compile "com.badlogicgames.gdx:gdx:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
compile fileTree(dir: 'libs', include: '*.jar')
}
}
tasks.eclipse.doLast {
delete ".project"
}
UPDATE:
tôi tìm thấy giải pháp này link vì vậy những gì tôi đã làm là tôi sao chép GDX-liquidfun.jar Android - nhấp chuột> libs thì phải và thêm như thư viện, nhưng tôi vẫn nhận được lỗi. Trợ giúp xin vui lòng, cảm ơn trước (Tôi đang sử dụng Intellij Community Edition)
Có thể là một vấn đề với bạn gradle, xin vui lòng thêm chúng vào câu hỏi của bạn. – Marius
Có gì sai với câu trả lời dưới đây? Bạn nói các lớp giải quyết, nhưng một số phương pháp không hoạt động, vì vậy dường như bạn cần đọc tài liệu API để tìm các thông số chính xác –
@ cricket_007 - Tôi đang sử dụng LiquidFun cho các hạt, LiquidFun dựa trên Box2d Vì vậy, khi bạn sử dụng LiquidFun , world.step sẽ cần 4 tham số. Nhưng nếu tôi sử dụng Box2d đơn giản thì chỉ cần 3 tham số, câu trả lời dưới đây về cơ bản sẽ làm cho tôi chỉ sử dụng box2d, nhưng tôi cần LiquidFun cho các hạt. –