2015-10-19 14 views
12

アンドロイドスタジオの中にこのようなことをする機能がありますか? 基本的には、私のgradleスクリプトは、特定のライブラリの依存バージョンを設定するための、versionという名前のパラメータを読み取ります。 私はgradlew -Pversion = '1.2.3'を実行するとき、この文字列をgradleの中に入れます。しかし、これはコンソールからgradleを呼び出す場合にのみ機能します。アンドロイドスタジオから-Pパラメータをアンドロイドスタジオに渡す

Androidスタジオ内のプロジェクトの設定を使用して開始するときにパラメータをgradleに渡す方法はありますか?

注:私はGradle VMオプションとスクリプトパラメータをデフォルト設定で見つけましたが、-Pversion = '1.2.3'を追加すると効果がないようです。

答えて

7

ファイル名を指定して実行]> [編集]設定..

enter image description here

あなたのparamsでスクリプトパラメータに "ABCDEF" に置き換えます。

+3

残念ながら、これは私の場合は機能しません。 Androidアプリケーションの設定(スクリーンショットの左にある最初のオプション)を使用しているときにパラメータをgradleに渡したいと思います。私はGradleタスクを直接実行したくありません。 – PSIXO

4

たとえば、プロジェクトのビルド中にサーバーのベースエンドポイントを渡そうとしましょう。今、私たちは、URLを構築し、それを使用するデバッグを渡すことができ

debug{ 
    buildConfigFiled("java.lang.String","BASE_URL","$serverUrl") 
} 

:まず、私たちは、この値を使用してベースURLを作成したURLを取得し、それをあなたのbuildTypesで

def serverUrl = "https://mydefaulturl.com" 
task(runProgram){ 
    if(project.hasProperty("url")){ 
     serverUrl = url; 
    } 
} 

を設定する方法を定義する必要があります。

あなたは以下のコマンドで端末からプロジェクトをビルドすることができます:あなたはAndroidStudiosコンパイル環境

AndroidStudio>環境下セットアップそれらをすべきAndroidのメーカーのrunオプションにパラメータを提供するために

./gradlew installDebug task runProgram '-Purl="https://yournewurl.com"' 
+0

ここに設定をビルドするためにフィールドを追加するのは何ですか? – PSIXO

+0

2つ以上の異なるURLをテストおよび本番用に使用する場合は、ビルドバリアントまたはビルドタイプでベースURLを生成できます。プロダクションの前に、ベースURLなどの重要な変数をコメントアウトしたりコメントアウトしたりするのは良いケースではありません。 – savepopulation

+5

アンドロイドスタジオの中からそうする方法があるかどうか質問しています。答えは役に立たない。 – KMP

5

。 ..

コンパイラの下で

:ComandLineOptions enter image description here

+0

AS 3.0.1では、これは私のために働き、グラデルプロパティを渡しながらインスタント実行機能を可能にします。これはグローバルに設定する必要があり、実行コンフィギュレーションごとに設定することはできません。また、@ KMPが回答したように、プロパティを使って直接gradleタスクを使用しても、インスタント・ランが壊れてしまいます。 –

関連する問題