2015-03-31 49 views
17

我安裝了Android的工作室,當我嘗試從gradle這個導入項目此決心錯誤顯示出來:Android Studio中無法加載類的org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'

無法加載「org.codehaus.groovy.runtime.typehandling.ShortTypeHandling」類 。

我刪除了用戶.gradle文件夾中的文件,並嘗試了不同的gradle版本。我不知道如何解決這個問題。

+2

檢查了這一點http://stackoverflow.com/questions/28923716/getting-resolve -error-while-imported-project-in-android-studio-unable-load- – 2015-04-05 00:40:05

回答

6

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用戶 而言,這可能特別有趣,它們想要在Gradle 2+上使用基於Gradle 2+的插件,並且可能會面臨此錯誤。添加下面一行到他們的構建 文件應該有所幫助:

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

4

我可以使用這三種方法修復此錯誤消息。

  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(模塊: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

我有同樣的問題。我從命令行運行gradle,並且確實有效。 之後,我發現文件 - >設置 - >構建,執行,部署 - >構建工具 - > Gradle。有「使用本地gradle分發」活動。將其更改爲「使用默認gradle包裝(推薦)」,它工作。

+0

非常感謝!我升級到Studio 1.3.1,並在水中死了幾個小時,直到我找到你的答案!!!!!!! – 2015-08-15 18:58:23

+0

你救了我的命!從1.4.1升級到Studio 1.5.1後,我遇到了這個問題。這個答案有效。 – 2015-12-23 05:51:38

0

我有同樣的問題。我找到了一個解決方案。

原因

此問題是由機器人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的工作室,機器人gradle這個插件和gradle這個版本之間的兼容性在此頁面

https://stackoverflow.com/a/29695756/3675925

相關問題