나는 libgdx를 사용하여 게임을 만들었으며 이전에는 데스크톱과 Android 모두에서 정상적으로 실행됩니다. box2d physics engine과 liquidfun 입자를 사용하기 시작했기 때문에 기본적으로 어떤 일이 발생하는지는 내 게임에서 재생을 클릭하면로드를 시작한 후로드 한 후 gameScreen으로 이동해야하는지 확실하지 않지만 충돌이 발생하면 "불행히도 , myGame이 중지되었습니다. "Android에서 Libgdx 게임이 작동하지 않습니다.
오류 메시지가 :
E/AndroidRuntime: FATAL EXCEPTION: GLThread 3764
Process: com.nivekbryan.puffypuff, PID: 8416
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/badlogic/gdx/physics/box2d/World;
내가 어떻게 포트 liquidfun 라이브러리는 2,014에서 좀 옛날이 setup tutorial을 따랐다. 게임이 데스크톱 응용 프로그램으로 실행됩니다.
이것은 내 build.gradle 파일 (종속성)입니다. 무엇이 문제 일 수 있습니까? 왜 안드로이드 응용 프로그램이 아닌 데스크톱 응용 프로그램으로 작업하고 있습니까?
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"
}
업데이트 :이 솔루션을 발견
link 나는 안드로이드에 GDX-liquidfun.jar을 복사 한 그래서 -> libs와 다음 마우스 오른쪽 버튼으로 클릭하고 라이브러리로 추가,하지만 난 여전히를 얻을 수 오류. 도움말, 덕분에 사전에 (내가 사용 인 IntelliJ 커뮤니티 에디션)하시기 바랍니다
은 문제가 될 수 있음 당신이 질문에 질문을 추가하십시오. – Marius
아래 답변에 어떤 문제가 있습니까? 클래스가 해결되었지만 일부 메소드가 작동하지 않으므로 올바른 매개 변수를 찾으려면 API 문서를 읽어야합니다. –
@ cricket_007 - 입자 용 LiquidFun을 사용하고 있습니다. LiquidFun은 Box2d를 기반으로합니다. LiquidFun을 사용할 때 , world.step에는 4 개의 매개 변수가 필요합니다. 그러나 일반 Box2d를 사용하는 경우 3 개의 매개 변수 만 필요합니다. 아래의 대답은 기본적으로 box2d 만 사용하게하지만 입자에 대해서는 LiquidFun이 필요합니다. –