2017-11-22 10 views
2

リリースビルドタイプの新しいJavaソースフォルダrelease(app/src/release/java)を追加しました。このAndroidのメーカーのために自動的に私のアプリ/ build.gradleに次の行を追加:我々はすでに私たちのデバッグbuildTypeためdebugフォルダ(アプリ/ srcに/デバッグ/ Java)の中にいくつかのコードを持っていたリリース/デバッグ用のJavaソースフォルダ用にbuild.gradleにソースセットを追加する必要はありますか?

sourceSets { release { java.srcDirs = ['src/release/java', 'src/release/java/'] } } 

。また、デバッグソースセットのapp/build.gradleファイルにはエントリがありません。

そして、私たちのリリースとデバッグビルドは、sourceSetエントリの有無にかかわらず期待どおりに動作しています。

したがって、構築中にデフォルトでapp/src/x/javaに構築タイプxのソースを探しますか?

「はい」の場合、Android-Studioでbuild.gradleのsourceSet行が私のために追加されたのはなぜですか?

+1

https://developer.android.com/studio/build/build-variants.html#sourcesets –

答えて

0

Android Studioがbuild.gradleにsourceSetを追加しました。なぜなら、私はbuildType 'release'のフォルダ 'release'を追加しながら 'Change Folder Location'とマークしていました。

img1

、デフォルトのGradleによってapp/src/x/javaでビルドタイプxのソースを探してい。

たとえば、デバッグビルドタイプの場合、build.gradleにsourceSetエントリはありません。そして./gradlew sourceSetsにそれができます:

img2

ですから、カスタムのフォルダ構造を使用していない場合はbuild.gradleするのsourceSetを追加する必要はありません。

1

私が知っている限り、基本的にはアプリケーションのさまざまなバリエーション間でコードを整理するのに役立つさまざまな「sourceSets」を作成できます。 「main」セットを除くすべてのsourceSetはオプションです。

android developer hubには、このトピックに関する詳細情報があります。

関連する問題