web-dev-qa-db-ja.com

Android Studioはクラス 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'を読み込めません

Android Studioをインストールしましたが、gradleからプロジェクトをインポートしようとすると、これエラーの解決が表示されます:

クラス 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'を読み込めません。

Users .gradleフォルダー内のファイルを削除し、さまざまなgradleバージョンを試しました。これを修正する方法がわかりません。

17
EvilBurrito

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以降でコンパイルされているが、古いバージョンのGroovyで使用しようとしていることを意味します。このjarをクラスパスに追加することで、プログラムを実行する機会が与えられます。これは、古いバージョンのGradleでGradle2 +上に構築されたプラグインを使用してこのエラーに直面したい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

6
Vlad

私も同じ問題を抱えていました。コマンドラインからgradleを実行しましたが、うまくいきました。その後、[ファイル]-> [設定]-> [ビルド、実行、展開]-> [ビルドツール]-> [Gradle]を見つけました。そこでは「ローカルgradle配布を使用する」がアクティブでした。 「デフォルトのgradleラッパーを使用する(推奨)」に変更し、機能しました。

4
Raul Pinto

これらの3つの方法を使用して、このエラーメッセージを修正できます。

  1. 最新のgradleバージョンを使用する
  2. 最新のAndroid SDKとツールを使用します。
  3. 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'])
}
4
Mohammad Nurdin

私も同じ問題を抱えています。そして、私は解決策を見つけました。

原因

この問題は、Android gradleプラグインが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://stackoverflow.com/a/29695756/3675925

0
do01