web-dev-qa-db-ja.com

エラー:残念ながら、1つのプロジェクトに非Gradle Javaモジュールと> Android-Gradleモジュールを含めることはできません

2つのモジュールで構成されるItelliJ 14.1.2プロジェクトがあります。1つはAndroid Gradleベースのモジュールで、もう1つはMavenを使用したSpring Javaベースのモジュールです。

gps-trackman.v1は私のルートプロジェクトであり、このプロジェクトの出力やファセットを構成していません。アプリは私のAndroid gradleモジュールであり、このプロジェクト用にAndroidとAndroid-Gradle Facetを構成しました。gps-trackmanは私のSpring Mavenプロジェクトではありません。すべてをすべて構築できるようにしたい。出来ますか?

IntelliJ Eventlogにこのエラーメッセージが表示されるようになりました

サポートされていないモジュールの検出:次のモジュールのコンパイルはサポートされていません:gps-trackman、gps-trackman.v1、app。残念ながら、1つのプロジェクトに非Gradle JavaモジュールとAndroid-Gradleモジュールを含めることはできません。

プロジェクト「gps-trackman.v1」はGradleベースではありません

このエラーは、私のプロジェクトの構成の誤りによるものですか、それとも1つのプロジェクトにmavenモジュールとgradleモジュールを含めることは本当に不可能ですか?

ルートプロジェクトのファセットを構成する必要がありますか?または、MavenをGradleに変換する必要がありますか?

63
kamokaze

1-プロジェクトを閉じます

2-閉じるAndroid Studio IDE

3- .ideaディレクトリを削除します

4-すべての.imlファイルを削除

5- Android Studio IDEを開き、プロジェクトをインポートします

こちら からの回答

65
ahmednabil88

まず、Android St​​udioソースに更新する必要があります: https://code.google.com/p/Android/issues/detail?id=7798

次に、[ファイル]-> [キャッシュの無効化/再起動]-> [キャッシュの無効化と再起動]に移動します。

その後、アプリケーションのビルドを再試行してください。

私はこの答えを見つけました こちら

9

Ctrl-Alt-Sを押し、「Android Support」プラグインのチェックを外します

(これがなぜ機能するのか正確に説明できたらいいのですが、できません。Android用に開発したい場合は、Jetbrains製のAndroid St​​udioを使用してみてください。)

7
Region39

Android St​​udio 3.3 Canary 13.でも同じ問題が発生しました。

次の手順に従うことで解決できました。

  • モジュール設定に移動し、リストからモジュールを削除します
  • Settings.gradleを編集し、そこからモジュールを削除します
  • モジュールディレクトリをプロジェクトから(たとえばデスクトップに)物理的に移動します。
  • 次に、モジュール設定で再びモジュールを追加し、「Gradleプロジェクトのインポート」タイプとして選択します。ここで、デスクトップ(または他の場所)に移動したモジュールフォルダーを選択します

これらの手順を完了すると、モジュールがプロジェクトに再びコピーされ、ASはGradleの同期を再開し、エラーなしで成功します:-) GITステータスを確認すると、モジュールディレクトリをGITに再び追加するとすぐに表示されます作業ディレクトリに変更されました。だから、それは純粋にASの問題で、どういうわけか非同期になります...

このコメントに基づいて私のソリューションに基づいて: https://issuetracker.google.com/issues/37008041#comment

4
dirkvranckaert

モジュールをsettings.gradleファイルに追加したことを確認してください。

include ':app'
include ':your-module'
3
Egor Neliuba
  1. [ファイル]-> [キャッシュの無効化/再起動]に移動します。
  2. プロジェクトを閉じます。
  3. プロジェクトフォルダーに移動し、.ideaフォルダーを削除します。
  4. プロジェクトフォルダ内のYourProjectName.imlを削除します。
  5. Appフォルダー内のapp.imlを削除します。
  6. Android studioを開く->既存のプロジェクトを開き、プロジェクトを選択します。
  7. 設定の読み込みエラーとサポートされていないモジュールの検出エラーはなくなります。
2
Gagan Raghunath

私にとって、私のプロジェクトは非常に壊れていました。どうやってその状態になったのか分かりません。私が観察したのは、いくつかの.gradleファイルとproguardファイルにxmlコンテンツの完全なバンドルがあることです。幸いなことに、物理ファイルには正しいコンテンツが含まれていましたが、Android studioは、生成されたres xmlデータに属しているように見えるxmlファイルとして表示していました。 「ファイルシステムに同期」や「プロジェクトをgradleファイルに同期」、「キャッシュを無効にして再起動」、「gradlew clean」などの問題では、問題は解決しません。私はgradleスクリプトに表示されている偽のxmlデータを元のコンテンツに置き換えましたが、それも助けにはなりませんでした。上記のアドバイスをいくつか試してみましたが、うまくいかなかったか、複雑すぎて自分のプロジェクトがうまく形成された状態に戻ると感じられませんでした。

そこで、私は新しい空のプロジェクトを作成することにしました。ファイルエクスプローラーを使用して、破損したプロジェクトのすべてのモジュールを新しいプロジェクトにコピーしました(単純な古いコピーアンドペースト)。また、新しいファイルの「settings.gradle」およびルート「build.gradle」ファイルを古いファイルの内容。それが完了したら、「gradleファイルを使用してProjectを同期する」を実行する必要があります。プロジェクトルートに物理的に追加したコンテンツがある場合は、コピーする必要があります。

これにより、バックアップして作業することができます。プロジェクトが破損する原因はわかりませんが、ラップトップがスリープモードになったことに関係していると思われます。私のラップトップは私がスリープから目覚めることを許可していなかったし、私が目覚めるための唯一の方法は再び電源を入れることでした。それが起こったときに、いくつかのプロジェクトを数回開いたことがありました。それで、プロジェクトがどのように破損したかについての私の最善の推測です。

1
Tom Rutchik

エラーはすべてのことを説明し、アイデアはgradlemavenの間で混乱しています。

2つのgradleモジュールで新しいプロジェクトを作成しようとすると、mavenとしてgradleを使用してスプリングアプリケーションをビルドできます。

this スプリングガイドの例を参照

0
Mohamd Ali

上記のどれも私にとってはうまくいきませんでしたが、ランダムなものを試してみましたが、うまくいきました。

  1. 破損したプロジェクトディレクトリをコピーします。
  2. 別の場所に貼り付けます。
  3. Android St​​udioにインポートします。 (ファイル->新規->プロジェクトのインポート)
  4. そして、破損していないプロジェクトが復元されます。

PS:元の破損したプロジェクトが必要です。 (つまり、プロジェクト構造を変更せずにコピーしてください)

0
Shubham Singh

元のソースからプロジェクトファイルをコピーして、どこかに貼り付け、Android St​​udioからインポートします。

0
Akash Gupta

このソリューションは私のために働いたAndroid St​​udio 3.3.2。

  1. プロジェクトディレクトリから.imlファイルを削除します。
  2. Android studioファイル->キャッシュの無効化/再起動。
  3. 自動ビルドでエラーがスローされた場合は、プロジェクトをクリーンおよびリビルドします。
0