Я сделал игру, используя libgdx, и она отлично работает как на настольном компьютере, так и на Android. Я не уверен, что из-за того, что я начал использовать физический движок box2d и жидкие частицы, в основном это происходит, когда я нажимаю на игру в своей игре, он начинает загружаться, после загрузки он должен перейти на экран игры, но он падает, а затем говорит: «К сожалению , myGame остановился ».Нарушения игры Libgdx на Android
сообщение об ошибке:
E/AndroidRuntime: FATAL EXCEPTION: GLThread 3764
Process: com.nivekbryan.puffypuff, PID: 8416
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/badlogic/gdx/physics/box2d/World;
Я следовал этой setup tutorial о том, как порт liquidfun библиотеки, его с 2014 года своего рода старый. Игра работает нормально как настольное приложение.
Это мой файл build.gradle (зависимости), что может быть проблемой? и почему работает как настольное приложение, а не как приложение для 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:
Я нашел это решение link так что я сделал это я скопировал GDX-liquidfun.jar для Android -> ЛИЭС затем правой кнопкой мыши и добавить в библиотеку, но я все еще получаю ошибка. Помогите пожалуйста, заранее спасибо (я использую Intellij Community Edition)
Может быть проблема с вы град, пожалуйста, добавьте их в свой вопрос. – Marius
Что случилось с нижеприведенным ответом? Вы сказали, что классы разрешены, но какой-то метод не работает, поэтому, похоже, вам нужно прочитать документацию API, чтобы найти правильные параметры –
@ cricket_007 - Я использую LiquidFun для частиц, LiquidFun основан на Box2d Итак, когда вы используете LiquidFun , world.step потребуется 4 параметра. Но если я использую простой Box2d, то нужны только 3 параметра, ответ ниже в основном заставит меня использовать только box2d, но мне нужно LiquidFun для частиц. –