Android Studioはデフォルトでbuild.gradleにどの製品フレーバーを構築しますか?


160

新しいGradleビルドシステムを使用するAndroidプロジェクトがあり、開発ツールとしてAndroid Studioを使用しています。で複数の製品フレーバーが指定されているbuild.gradle場合、Android Studioは最初に指定されたものをアルファベット順に作成します。開発中に特定の製品フレーバーのみをビルドしてテストするようにAndroid Studioに指示する方法はありますか?

回答:


334

Studioウィンドウの左下には、「Build Variants」と呼ばれるドッキングビューがあります。

それを開き、作業するバリアントを選択します。これは、ビルドされるバリアントだけでなく、有効なソースフォルダーにも影響を与え、コードおよびリソースエディターでの完了を促進します。


15
涼しい。最初のインポート時にどちらを優先するかをカスタマイズする方法はありますか?
Joe

3
そうは思いません。これを追加できるかどうか、担当エンジニアに尋ねることができます。ただし、フレーバーがある場合、プロジェクトごとに異なる可能性があります。
Xavier Ducrohet 2013

34
バリアントは、フレーバーとビルドタイプの組み合わせです。配置できるのはバリアントのみです。味だけのapkを作成することはできません。
Xavier Ducrohet 2013

5
興味がある場合は、コマンドラインを使用して、指定されたバリアントをビルドできます。そして、あなたが構築し、使用して接続されたデバイスまたはエミュレーターにインストールできます。<Flavor1> <Flavor2> <...> <BuildType>インストール./gradlew
Deepscorn

5
しかし、どのプロダクトフレーバーでAndroid Studioはデフォルトでアプリケーションを構築しますか?
Malwinder Singh 2015

20

現在、デフォルトのフレーバーを選択する方法はないようです。Android Issue Trackerに機能リクエストがあります:

https://code.google.com/p/android/issues/detail?id=64917

リクエストにスターを付けたり投票したりできるため、Android開発ツールのバックログで優先度が高くなります。


3
この機能はAndroid Studio 3.5に含まれる予定です。冗談ではありません-これを実装するには5年かかりました!! (チケットの作成日を見てください)
Someone Somewhere

4

はい、方法があります:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

それ以外の場合は、デバッグビルドタイプのバリアントが優先されます。

Android Studio 3.5で追加されました。機能のリクエストをご覧ください。

「Android Gradleプラグイン3.5.0-alpha08およびAndroid Studio 3.5 Canary 8 [3.5.0.7]に含まれています。

コミットメッセージで説明されているように、古いAGPを使用するプロジェクトと明示的な設定のないプロジェクトのヒューリスティックも更新され、ビルドタイプデバッグのバリアントが優先されます。」


-1

Gradle対応のMakeを起動する前にセクションでコマンドrunを指定できます。

あなたはすべてのgradleタスクをリストすることができます gradlew tasks

ここに画像の説明を入力してください


私はこれを試してみましたが、確かにビルドされるフレーバーは1つだけですが、Android Studioはまだ選択されたバリアントのみを起動します。さらに悪いことに、選択したバリアントに含まれない特定のアクティビティを選択すると、「アクティビティをエクスポートするか、インテントフィルターを含める必要があります」という紛らわしいエラーメッセージが表示されます。ビルドバリアントの選択を変更すると、エラーはなくなります。
Dagmar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.