1

Gradleのドキュメント(および私が見る多くのSOリソース)は次のことを示唆しています:

「マルチプロジェクトのセットアップは、通常、すべてのプロジェクトを特定のルート プロジェクトのサブ フォルダーにすることで機能します。」

私の状況では、次のフォルダー構造があります。

  AndroidDev /* this is my root dir where I keep all my projects and libraries */
    |
    |- MyProject1
    |     |- MyProject1Module
    |
    |- MyProject2
    |     |- MyProject2Module
    |
    |- MyLibrary
         |- MyLibraryModule

ここで、MyLibraryModule を使用し、それを MyProject1 と MyProject2 の依存関係として追加します。MyProject1 と MyProject2 を別の Android Studio ウィンドウで開き、ライブラリの依存関係でコンパイルできるようにしたいと考えています。彼らには共通点がありません。

どうすればこれを達成できますか。これを理解するのに役立つ適切なリソースが見つかりません。

編集:明確にするために、これを新しいgradleビルドシステムで使用したいと思います。したがって、モジュールのインポートとモジュールの依存関係の構成に関する指針は役に立ちます。ありがとう。

4

2 に答える 2

0

私があなたの質問を正しく理解していれば、あなたがする必要があるのは次のことだけです。

Eclipse で MyLibraryModule プロジェクトを選択 -> 右クリック -> プロパティ -> Android ここで、[Is Library] チェックボックスが表示され、有効にして適用します。

MyProject1 を使用して Workspace1 に MyLibraryModule を既存の Android アプリケーションとしてインポートします。MyProject1 -> プロパティ -> Android -> 追加を右クリックします。開いたダイアログに MyLibraryModule が表示されます。追加、適用、OK。

MyProject2 を使用した Workspace2 にもまったく同じプロセスが適用されます...

これは、libs フォルダーに jar を追加した場合と実質的に同じことを行いますが、エクスポートなどを行うことなく MyLibraryModule のコードを変更できるようになりました。また、2 つのプロジェクトは互いに独立していますが、MyLibraryModule に依存しています。

于 2013-09-24T00:26:27.413 に答える
0

Android Studio は使っていませんし、Android の開発もしたことがありませんが、Gradle の知識だけでよい質問だと思われるので、やってみます。

まず、これを見てください:しばらく前に同様の質問をしたときから、既存のリポジトリ レイアウトに対して Gradle マルチプロジェクト ビルドをセットアップするのが困難です。Peter Niederwieser の回答は、Gradle のマルチプロジェクト サポートについて私が持っていた多くの誤解を正してくれました。

構造のルート ディレクトリに settings.gradle が必要です。この場合、次のようになります。

include 'MyProject1', 'MyProject2', 'MyLibrary'

Gradle はこのファイルを使用して設定オブジェクトを構成することに注意してください。ここの DSL を見ると、何が可能かがわかります: http://www.gradle.org/docs/current/dsl/org.gradle.api.initialization.Settings.html

これで、次のように、他の各プロジェクトで MyLibrary への依存関係を宣言できます。

dependencies {
    compile(
        ':MyLibrary'
    )
}

これがあなたが求めていた質問に答えてくれることを願っています-誤解した場合は、お気軽にもう一度投稿してください.

于 2013-09-24T15:30:06.437 に答える