Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
16
Help us understand the problem. What is going on with this article?
@u_one

AndroidStudioでプロジェクトインポートしたときのsyncエラー

More than 5 years have passed since last update.

またAndroidStudioでハマった。
以前古いバージョンで作成したプロジェクトをcheckoutしてimportしたところ、原因不明のエラーに遭遇。gradleのバージョンが問題だったが、たどり着くのに苦労したのでメモ。

環境

Win7 pro
AndroidStudio:1.1.0
GradlePlugin:1.1.0
Gradle(Gradle wrapper) 1.12 => 2.2.1 ★結局コレ

現象

以前古いバージョンのAndroidStudioで作成したプロジェクトをcheckoutしてimportしたところ
gradle syncエラー。


Error:Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'.
Possible causes for this unexpected error include:

 - You are using JDK version 'java version "1.7.0_75"'. Some versions of JDK 1.7 (e.g. 1.7.0_10) may cause class loading errors in Gradle.
Please update to a newer version (e.g. 1.7.0_67).
 - Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
 - The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

調査

上記、原因の可能性として挙げられている3つは試したが、現象変わらず。

  • JDKは「1.7.0_67などの新しいバージョンにしろ」と言っている。当初1.7.0_3Xくらいだったので、より新しい1.7.0_75にした結果が↑。変わっていない。
  • 設定を色々変更してはこの方法で何度も消してみた。が、変わらず。
  • Gradle daemonを止めてみたら直るかも、と言われているので、言うとおりクリックしてみたが変わらず。

ググっても同じ症状が出てこず。

一度同じ構成のProjectを作り直して、各build.gradleファイルなど見比べども、なかなか違いが見出せずにいたところ、ディレクトリごと比較しやっと気付いたのがここ。

[プロジェクトルート]/.gradle/1.12

作り直したプロジェクトではここが2.2.1になっていた。つまり、gradleのバージョンが怪しいことに気がつく。

対処(gradleのバージョン変更)

結局、

http://qiita.com/AbeHaruhiko/items/fd9a01ad6fc84309e857
の、2.gradle-wrapper.propertiesの編集 にあるように

[プロジェクトルート]/gradle/wrapper/の

gradle-wrapper.properties
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

に変更。

この修正により、やっと解決。
結局gradleかよ。
ここに気がつくまで長かった。当初、各build.gradleばかり見ていて、かつ、graldeプラグインとgradleを混同していたため、gradleのバージョンの問題ではないと思っていたことが災いした。
AndroidStudio、プロジェクトの構成が難解すぎる。

16
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
u_one
Qiitaはじめました。 まだ使いどころがよくわかってませんが、サーバからマイコンまで、色々書いてみようと思います。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
16
Help us understand the problem. What is going on with this article?