更新Gradle(Android Studio 3.0)后,LibGdx无法正常工作 [英] LibGdx doesn't working after updating Gradle (Android Studio 3.0)
问题描述
我最近更新了android studio和gradle到版本3.0.0,按照这个链接中的说明 https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html
执行此操作后,libgdx桌面项目无法正常工作。
它给了我这个错误
java.lang.NoClassDefFoundError:com / badlogic / gdx / ApplicationListener $ b $ java.util.Class.getDeclaredMethods0(Native Method)$ b $ at java.lang .Class.privateGetDeclaredMethods(Class.java:2701)$ b $在java.lang.Class.privateGetMethodRecursive(Class.java:3048)$ b $在java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain( LauncherHelper.java:526)
导致:java.lang.ClassNotFoundException:com.badlogic.gdx.ApplicationListener $ b $在java.net.URLClassLoader.findClass(URLClassLoader.java:381)
在java.lang.ClassLoader.loadClass(ClassLoader .java:424)sun.misc.Launcher
$ java.util.ClassLoader.loadClass(ClassLoader.java:357)
。 .. 7 more
错误:发生JNI错误,请检查您的安装并重试
线程main中的异常
这里是build.gradle文件
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven {urlhttps://oss.sonatype.org/content/repositories/snapshots/}
jcenter()
google()
}
依赖关系{
classpath'com.android.tools.build:gradle:3.0.0'
}
我只添加了 google()
来储存并将gradle版本编辑为 3.0.0
在 gradle-wrapper.properties
我添加了这一行
distributionUrl = https\://services.gradle.org/distributions/ gradle-4.1-all.zip
Android Studio 3.0
使用 gradle-4.1
和 com.android.tools.build:gradle:3.0.0
Gradle 4.1
目前还不支持LibGDX,有一个开放的 issue for same。
目前使用已弃用的 jetty
插件的 html模块,它在 Gradle 4.1
版本中被删除。
然而,使用终端,您可以运行桌面模块,我没有在Windows上测试过,但在Mac上它工作正常。
./ gradlew桌面:运行
Gradle
和 Andoid-gradle-plugin
,然后等待问题发生 -
将Gradle版本从4.1降级到3.3
在你的项目中找到gradle文件夹,打开
gradle-wrapper.properties
,然后改变distributionUrl为3.3
distributionUrl = https\://services.gradle.org/distributions/gradle-3.3-all.zip
-
将Android-gradle-plugin版本从3.0.0降级到2.3.3
打开root
build。 gradle
文件并在buildscript和
中更改版本中找到工件classpath'com.android .tools.build:gradle:2.3.3'
-
评论/删除
google()
从根目录build.gradle
文件 中的回购列表
I have recently updated android studio and gradle to the version 3.0.0 following instructions in this link https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html
After doing this libgdx desktop project doesn't work.
It give me this error
java.lang.NoClassDefFoundError: com/badlogic/gdx/ApplicationListener
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: com.badlogic.gdx.ApplicationListener
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main"
Here is build.gradle file
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
I only added google()
to repositories and edit gradle version to 3.0.0
In gradle-wrapper.properties
I added this line
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Android Studio 3.0
using gradle-4.1
and com.android.tools.build:gradle:3.0.0
Gradle 4.1
is not supported yet in LibGDX, there is an open issue for the same.
Currently html module using deprecated jetty
plugin which is removed in Gradle 4.1
version.
However using Terminal you can run desktop module, I've not tested on windows but on Mac it's working fine.
./gradlew desktop:run
For now you can use lower version of Gradle
and Andoid-gradle-plugin
in Android Studio 3.0 and wait for issue to be fixed.
Downgrade Gradle version from 4.1 to 3.3
Find gradle folder inside your project, Open
gradle-wrapper.properties
and change distributionUrl for 3.3distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
Downgrade Android-gradle-plugin version from 3.0.0 to 2.3.3
Open root
build.gradle
file and find artifact in buildscript and change versionclasspath 'com.android.tools.build:gradle:2.3.3'
Comment/delete
google()
from repo list inside rootbuild.gradle
file
这篇关于更新Gradle(Android Studio 3.0)后,LibGdx无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!