Androidアプリモジュールとライブラリモジュールのコンパイル版の実装方法を統一

需要の背景:

日常の開発では、プロジェクトの構築に gradle を使用することがよくあります。アプリ プロジェクトには 2 つのモジュールがあり、A はアプリケーション モジュール、B はライブラリ モジュールです。同僚 A はコンパイルして B に依存し、両方ともデバッグ バージョンとリリース バージョンを持っています。お聞きしたいのですが、Aとコンパイル版の統合が実現した場合、つまり、Aのデバッグ版をコンパイルするとBのデバッグ版もコンパイルされ、Aのリリース版をコンパイルするとBのリリース版もコンパイルされます。
実現効果図は以下の通りです。
A のデバッグ バージョンをコンパイルすると、B のデバッグ バージョンもコンパイルされます。

A のリリース バージョンをコンパイルすると、B のリリース バージョンもコンパイルされます。

実装:

1. すべての依存ライブラリを build.gradle に追加します。

android {
     publishNonDefault true   //表示该Module不使用默认配置
}

上の図では、アプリケーションは 3 に依存しているため、この文を 3 つのモジュールの build.gradle に追加します。
2. アプリケーション モジュールの build.gradle に、次のようにすべての依存ライブラリを追加します。

dependencies {

    releaseCompile project(path: ':library', configuration: 'release')
    debugCompile project(path: ':library', configuration: 'debug')
}

上図の例に従って、アプリケーションモジュールを追加します

dependencies {
    releaseCompile project(path: ':lib-zxing', configuration: 'release')
    debugCompile project(path: ':lib-zxing', configuration: 'debug')

    releaseCompile project(path: ':supertoasts', configuration: 'release')
    debugCompile project(path: ':supertoasts', configuration: 'debug')

    releaseCompile project(path: ':material-calendarview-library', configuration: 'release')
    debugCompile project(path: ':material-calendarview-library', configuration: 'debug')
}

3. 上記の要件を達成するために gradle を再構築します。

おすすめ

転載: blog.csdn.net/lrxb_123/article/details/78031673