Android Studio Не удается загрузить класс 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'
Я установил Android Studio, и когда я пытаюсь импортировать проект из gradle, эта ошибка разрешения появляется:
Невозможно загрузить класс 'Org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'.
Я удалил файлы в папке Мои пользователи .gradle и попробовал разные версии gradle. Я не знаю, как это исправить.
Ответы
Ответ 1
Эта страница может помочь решить проблему. Они говорят:
Итак, мы использовали эту версию для добавления нового артефакта, названного 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+, но вы пытаетесь использовать его со старой версией Groovy. Добавив эту банку в classpath, вы дадите программы для запуска. Это может быть особенно интересно для пользователей Gradleкоторые хотят использовать плагин, построенный на Gradle 2+, в более старых версиях Gradle и столкнуться с этой ошибкой. Добавление следующей строки в их сборку файлы должны помочь:
buildscript {
// ...
dependencies {
classpath 'some plugin build on gradle 2'
classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5'
} }
Обратите внимание, что на данный момент этот баннер содержит только ShortTypeHandlingClass. В будущих версиях может быть больше. - См. Больше на: http://glaforge.appspot.com/article/groovy-2-3-5-out-with-upward-compatibility#sthash.mv7Y8XQv.dpuf
Ответ 2
Я могу исправить это сообщение об ошибке, используя эти три метода.
- используйте последнюю версию gradle
- используйте последние SDK и инструменты для Android.
- использовать proguard-rules.pro
build.gradle(Project: xxxxx)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
mavenCentral()
}
}
build.gradle(модуль: приложение)
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 (рекомендуется)", и она сработала.
Ответ 4
У меня была такая же проблема. И я нашел решение.
Причина
Эта проблема вызвана тем, что плагин android gradle не соответствует версии gradle.
Решение
Измените build.gradle в проекте. gradle версия для плагина должна удовлетворять требованиям для студии android.
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
}
И отредактируйте правило Url в gradle/wrapper/gradle-wrapper.properties
. версия gradle должна удовлетворять требованиям для плагина gradle.
distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
Вы можете найти совместимость версий между сайтом android studio, android gradle и gradle на этой странице
fooobar.com/info/144525/...