私のAndroid Studioプロジェクトは、このようなディレクトリ構造を持っていますのGradleの設定(ベータ版)
project
|-- build.gradle
|-- settings.gradle
|
|-- app
| |-- src
| |-- build.gradle
| +-- settings.gradle
|
+-- submodule
|-- build.gradle
|-- settings.gradle
+-- library
|-- src
|-- build.gradle
+-- settings.gradle
project/submodule
はgitのサブモジュールであり、他のAndroid Studioプロジェクトのためのgitリポジトリを直接参照。そのsettings.gradle
はちょうどinclude ':library'
です。
以前働い設定
project/settings.gradle
include ':submodule/library'
氏は述べています。 project/app/build.gradle
には、compile project(':submodule/library')
という行があります。
このすべては、Android Studioの3の前にうまく働いたが、今のAndroidメーカーは、それがその名前でモジュールを見つけることができないことを不平を言う:
Error:Unable to find module with Gradle path ':submodule/library' (needed by module 'Accession'.)
(のGradleでコマンドラインでのビルドを実行するに表示されますうまく動作しないので、何か好きではないAndroidスタジオのようです。)
:submodule/library
を参照しているように見えるのは、gradleに指定されているプロジェクトの名前と一致している可能性がありますconfigは、相対的なpと同じであると仮定していましたその根のath。
1はbuild.gradle
とsettings.gradle
の両方に:submodule:library
で:submodule/library
を交換し
考えられる解決策:
私は2つの可能な解決策を持っています。これは動作するように見えますが、私の推測では、それはサブプロジェクトと同様に、:submodule
のgradleプロジェクトも含まれています。さらに、この:x:y
の表記が実際に何を表しているのかは分かりません。
解決策2
settings.gradle
で include ':library'
project(':library').projectDir = file('submodule/library')
でinclude ':submodule/library'
を交換し、build.gradle
にcompile project(':library')
でcompile project(':submodule/library')
を交換してください。
これは「正しいこと」と思われます。
質問
誰かがまさに "さのGradleのこれら3つのビットのそれぞれのために働く必要があります(もしあれば)(オリジナル設定と2の可能な修正)を、上に行くとどのいるものを教えてもらえベストプラクティス "?私が説明した内容
アップデート(明確化)
は、Gradleの4.1(私の古いのGradleとAndroidのGradleプラグインのバージョンの設定(Gradleでは3.3、アンドロイドのGradleプラグイン2.3.3)との両方を更新した後の両方が起こりますAndroid Gradle Plugin 3.0.0ベータ版)
上記の問題は、Android Studioのアップグレード後に発生しました。私はまだGradle 3.3とAndroid Gradle Plugin 2.3.3を使用しています。私がGradleのバージョンを4.1に、プラグインのバージョンを3.0.0に変更し、どこでも 'implementation 'で' compile'を置き換えたとしても、問題は依然として残っていました。 – UtterlyConfused