android-studio - LibGDX Gradle 损坏的构建
问题描述
我将 Android Studio 和这个 Gradle 更新到了 5.x 版。我不得不改变desktop.gradle
一点。构建成功,但是当您运行生成的 .jar 时,会发生崩溃并出现错误:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoClassDefFoundError: com/badlogic/gdx/graphics/g2d/freetype/FreeTypeFontGeneratorLoader
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:133) Caused by: java.lang.NoClassDefFoundError: com/badlogic/gdx/graphics/g2d/freetype/FreeTypeFontGeneratorLoader
at ru.elvale.amfus.Amfus.initAssets(Amfus.java:99)
at ru.elvale.amfus.Amfus.create(Amfus.java:45)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:149)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
Caused by: java.lang.ClassNotFoundException: com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGeneratorLoader
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more
更重要的是,运行gradlew desktop: run
成功启动了应用程序。
desktop.gradle
:
apply plugin: "java"
sourceCompatibility='1.7'
sourceSets.main.java.srcDirs=[ "src/" ]
project.ext.mainClassName = "ru.elvale.amfus.desktop.DesktopLauncher"
project.ext.assetsDir = new File("../android/assets");
task run(dependsOn: classes, type: JavaExec) {
main = project.mainClassName
classpath = sourceSets.main.runtimeClasspath
standardInput = System.in
workingDir = project.assetsDir
ignoreExitValue = true
}
task debug(dependsOn: classes, type: JavaExec) {
main = project.mainClassName
classpath = sourceSets.main.runtimeClasspath
standardInput = System.in
workingDir = project.assetsDir
ignoreExitValue = true
debug = true
}
task dist(type: Jar) {
from files(sourceSets.main.output.generatedSourcesDirs)
from files(sourceSets.main.output.classesDirs)
from files(sourceSets.main.output.dirs)
from {configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }}
from files(sourceSets.main.output.resourcesDir)
from files(project.assetsDir)
manifest {
attributes 'Main-Class': project.mainClassName
}
}
dist.dependsOn classes
解决方案
推荐阅读
- php - 用户提交 facebook 潜在客户表单时未加载 webhook.php 文件
- python - U-net 低对比度测试图像,预测输出为灰色框
- jsp - 根据EL值修改JSP中按钮标签的类
- redis - Redis 哈希与键层次结构
- amazon-web-services - Dynatrace AWS 访问密钥验证域 (url/ip)
- javascript - 如何淡化整个 html 正文内容,除了使用 jquery 悬停的内容?
- ios - Swift iOS如何删除顶部填充UICollectionView
- java - AWS Device Farm:APPIUM_JAVA_JUNIT_TEST_PACKAGE_CLASS_FILE_MISSING_IN_TESTS_JAR
- react-native - 更新 react-native 后无法使用 react-native-debugger
- html - 以相同的速率收缩 CSS 网格的列