2017-07-20 24 views
1

Android Studio 2.3にアップデートして以来、場合によってはFile->Project Structureをクリックしたときなど、レイアウトXMLを開いたり、任意のbuild.gradleファイルのコード(これらは少なくとも例外なく開いています)。エラーがStackOverflowError: null言うと、スタックトレースは、すべての場合に同じである:StackOverflowError:プロジェクト構造上のAndroid Studioのヌル

null 
java.lang.StackOverflowError 
    at java.util.regex.Pattern.sequence(Pattern.java:2079) 
    at java.util.regex.Pattern.expr(Pattern.java:1996) 
    at java.util.regex.Pattern.compile(Pattern.java:1696) 
    at java.util.regex.Pattern.<init>(Pattern.java:1351) 
    at java.util.regex.Pattern.compile(Pattern.java:1028) 
    at java.lang.String.replaceAll(String.java:2223) 
    at com.android.tools.idea.gradle.dsl.parser.settings.ProjectPropertiesDslElement.getStandardProjectKey(ProjectPropertiesDslElement.java:52) 
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveProjectReference(GradleDslExpression.java:191) 
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:92) 
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66) 
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152) 
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66) 
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152) 

...と最後の2行は永遠に繰り返します。

この問題の原因を見つけるにはどうすればよいですか?

私のビルド設定やStudioの内部のどこかに循環参照があるようですか?でも私は手で見つけることはできません。私が少なくともスタックトレースで言及されているパターンまたはリファレンスが何かを知っていれば役に立ちます。私はすでに試した

もの:

  • 無効キャッシュ&再起動
  • が「有効settings->build->gradle->experimentalに新しい場所
  • .idea/とプロジェクトディレクトリ内の他の一時フォルダ
  • チェックアウトプロジェクトを削除新しいプロジェクト構造ダイアログ " - ダイアログは機能しますが、ダイアログボックスは機能しますが、閉じても同じエラーが発生し、それ以外の場合はまだ動作しません。

私はAndroid Studio 2.3.3を使用しています。すべてのプラグインとAndroidライブラリが更新されています(gradle 3.3、gradle plugin 2.3.1)。最新のgentoo linuxのすべてのもの。

答えて

0

私はこの問題を解決しました。そここれらの私の主なbuild.gradleで3行だった:*Version変数がないbuild.gradleファイルで、gradle.propertiesファイルに割り当てられている。このプロジェクトで

ext.kotlinVersion = kotlinVersion 
ext.supportLibVersion = supportLibVersion 
ext.playServicesVersion = playServicesVersion 

は、そう、彼らはすでに、すべてのモジュールのGradleのファイルにアクセス可能だし、上記の行循環参照を作成します。

私はそれらがある時点(「プロジェクトでKotlinを構成する」オプション)でKotlinプラグインによって追加されたと思っています。そして、自動編集は私たちの複雑な設定を台無しにしてしまいました。 。または以前の開発者がそこに残しました。私はきれいなプロジェクトでそれを再現するように見えることはできません。

関連する問題