Android Studio 无法加载类“org.codehaus.groovy.runtime.typehandling.ShortTypeHandling”
Posted
技术标签:
【中文标题】Android Studio 无法加载类“org.codehaus.groovy.runtime.typehandling.ShortTypeHandling”【英文标题】:Android Studio Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling' 【发布时间】:2015-06-04 05:06:55 【问题描述】:我安装了 android Studio,当我尝试从 gradle 导入项目时,会出现此 解决错误:
无法加载类 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'。
我删除了我的 Users .gradle 文件夹中的文件并尝试了不同的 gradle 版本。我不知道如何解决这个问题。
【问题讨论】:
看看***.com/questions/28923716/… 【参考方案1】:This 页面可能有助于解决问题。他们说的是:
所以我们利用这个版本添加了一个新的工件,名为 groovy-backports-compat23。这个工件不应该是必要的 大多数人,但如果你遇到如下错误:
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.typehandling.ShortTypeHandling at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
在您的项目中,则表示已编译了一个类 Groovy 2.3+,但您正在尝试将它与旧版本的 时髦的。通过在类路径上添加这个 jar,你给你一个机会 要运行的程序。这对于 Gradle 用户来说可能特别有趣 想要在旧版本的 Gradle 2+ 上使用构建的插件 Gradle 并面对这个错误。将以下行添加到他们的构建中 文件应该有帮助:
buildscript // ... dependencies classpath 'some plugin build on gradle 2' classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5'
请注意,目前,此 jar 仅包含 ShortTypeHandlingClass。 未来的版本可能包括更多。 - 查看更多信息:http://glaforge.appspot.com/article/groovy-2-3-5-out-with-upward-compatibility#sthash.mv7Y8XQv.dpuf
【讨论】:
【参考方案2】:我可以使用这三种方法修复此错误消息。
-
使用最新的 gradle 版本
使用最新的 android SDK 和工具。
使用 proguard-rules.pro
build.gradle(项目:xxxxx)
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:1.2.3'
allprojects
repositories
mavenCentral()
build.gradle (Module:app)
apply plugin: 'android'
android
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dependencies
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
【讨论】:
【参考方案3】:我遇到了同样的问题。我从命令行运行 gradle 并且确实有效。 之后,我找到了 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle。那里“使用本地 gradle 分发”处于活动状态。将其更改为“使用默认的 gradle 包装器(推荐)”并且它起作用了。
【讨论】:
非常感谢!我升级到 Studio 1.3.1 并在水中死了几个小时,直到我找到你的答案!!!!!!! 你救了我的命!从1.4.1升级到Studio 1.5.1后,遇到了这个问题。这个答案有效。【参考方案4】:我也遇到了同样的问题。我已经找到了解决方案。
原因
这个问题是android gradle plugin不匹配gradle版本造成的。
解决方案
在项目中编辑 build.gradle。 gradle 插件版本必须满足 android studio 的要求。
dependencies
classpath 'com.android.tools.build:gradle:1.1.0'
并编辑 gradle/wrapper/gradle-wrapper.properties
中的 distrubutionUrl。 gradle 的版本必须满足 gradle 插件的要求。
distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
您可以在此页面中找到 android studio、android gradle 插件和 gradle 之间的版本兼容性
https://***.com/a/29695756/3675925
【讨论】:
以上是关于Android Studio 无法加载类“org.codehaus.groovy.runtime.typehandling.ShortTypeHandling”的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio Gradle Sync:“无法加载类...”
当我在 android studio 上运行 Flutter 应用程序“无法初始化类 org.codehaus”时,突然出现此故障