1. ホーム
  2. android

[解決済み] Android Studioでbuild.gradleに外部プロジェクトを追加する

2022-05-12 18:26:45

質問

サンプルプロジェクトがあり、以下のような設定になっています。

/root
  + Pure Java Lib
  + Android Test Lib
  + Android Test Project

ここで、' テストプロジェクト ' に依存している場合、' テストリブ ' に依存し、最後が ' 純粋な Java ライブ ' プロジェクトをコンパイルし、このセットアップを起動すると、正常に動作します。

私は今、以前のEclipseワークスペースをインポートしてAndroid studioで作業しようと考えています。問題は、プロジェクトのセットアップが異なることで、私はこの方法を維持したいと思います。

たとえば、前の例を使用する場合。

/root
  + Android Test Lib
  + Android Test Project

/Some Other folder (another repository for example)
  + Pure Java Lib

いろいろな設定を試しましたが、親フォルダのスコープ外のプロジェクトを参照する方法は見つかりませんでした(' ルート ' 例では) の範囲外のプロジェクトを参照する方法は見つかりませんでした。

多くのプラットフォーム/モジュールでは、'...'を使ってフォルダを上に移動することができますが、これは私の場合うまくいきませんでした。おそらく間違った使い方をしてしまったのでしょう。

どなたかGradleでどのようにこれを実現できるかご存知でしょうか?

アップデイト

もっと一般的になるようにします。

/C:/

  /Project A
    + Module 1 - Pure Java
    + Module 2 - Android Test Lib
    + Module 3 - Android Test Project

  /Project B
    + Module 1 - Pure Java
    + Module 2 - Pure Java
    + Module 3 - Pure Java

のモジュール1を使用したいと思います。 プロジェクトB , プロジェクトAで .


更新日: 09-03-19

私は今これを見て、私は更新しなければならない...ほぼ6年後に、今日、私は賢くなって、私は間違いなく問題は私が"真実の源の概念を誤解していたと言うことができる"。

ライブラリに 1 つの参照を持つことは良い概念で、「真実のソース」のように見えるかもしれませんが、本当の「真実のソース」は、各プロジェクトがそのライブラリを使用しているコードのバージョンになります。

正しい方法は、ほとんどの開発者が好まないもの、つまり git サブモジュールを使用することです。そして、各プロジェクトでソースを複製します。

しかし、あなたはすべてのプロジェクトがすべてのライブラリの最新かつ最高のバージョンを使用することを目指す必要があります...それ自体が挑戦です。

これがライブラリソースでプロジェクトを開発する正しい方法である理由は、これがスケールするからです...それぞれが独自のライブラリ構成で何百ものプロジェクトを持つことができます。

どのように解決するのですか?

Some Other Folderがgradleプロジェクトであると仮定すると、settings.gradleファイルに以下のようなものを追加することができます。

include ':module1'
project(':module1').projectDir = new File(settingsDir, '../Project B/Module 1')