次の記事ショー、_android
、_test
、_google
フレーバーを表し、debug
そしてrelease
表しbuildTypes
、事前に説明し、プロジェクトの独自のニーズに応じて、異なるかもしれません。
マルチモジュールの下にサブモジュールのフレーバーを設定するにはどうすればよいですか?実際、特別な設定は必要ありません。サブモジュールがメインモジュールと同じフレーバーを維持する必要があるだけで、次のように参照します。2つは一貫している必要があり、サブモジュールのみがメインモジュールのフレーバーよりも多いが、少なくないか、フレーバーがまったくないことに注意してください。
implementation project(path: ':lib')
特に、指摘しなければならないことの1つは、以前にいくつかの国内記事を検索したところ、間違った結果が得られたことです。
_testReleaseImplementation project(path: ':lib', configuration:'_testRelease')
_testDebugImplementation project(path: ':lib', configuration:'_testRelease')
_androidReleaseImplementation project(path: ':lib', configuration:'_androidRelease')
_androidDebugImplementation project(path: ':lib', configuration:'_androidRelease')
ただし、このメソッドはgradle3.0以降のバージョンでは削除されています。gradle構文は引き続きこの形式をサポートしていますが、この関数はサポートされなくなりました。公式ウェブサイトの説明
同時に、メインモジュールと別のサブモジュールが同時にフレーバーを含むサブモジュールを参照する場合でも、対応するフレーバーをサブモジュールに追加する必要があります。本当に追加する必要がない場合は、 、追加する必要があります。手順を参照してください:
android {
...
defaultConfig {
...
//"mode"来源于相关引用的flavorDimensions和Flavors
missingDimensionStrategy "mode",'_android'
}
}
特定のフレーバーでのみインポートされるパッケージを追加する必要がある場合は、次のようにすることができます。
//以下代表只在_test时导入picasso包,
//但是为了避免平时开发时出现的导包错误,添加一个compileOnly只在编译时有该包
_testRuntimeOnly 'com.squareup.picasso:picasso:2.71828'
compileOnly 'com.squareup.picasso:picasso:2.71828'
異なるフレーバーでインポートされたパッケージを追加する必要がある場合は、次のようにすることができます。
_androidImplementation('com.getui:sdk:2.14.0.0')
_testImplementation('com.getui:sdk:2.14.0.0')
_googleImplementation('com.getui:sdk-for-google-play:4.3.8.0')
上記で説明する必要がある点が_testReleaseImplementation
あり_testDebugImplementation
、この方法は文法的にサポートされていますが、デフォルトのサポートは提供されていません。必要な場合は、次のコードを追加する必要があります。自分のニーズに従ってください。直接コピーしないで、説明してください。 :
configurations {
_testReleaseImplementation
_testDebugImplementation
_androidReleaseImplementation
_androidReleaseImplementation
}
また、上記の情報はすべて公式ウェブサイト情報の対象となります。