2017-02-06 6 views
0

私はちょうどgradleで遊んでいます。以前に割り当てられた値に基づいて変数を割り当てることはできますか?たとえば、無料で有料のフレーバーでdefaultConfigのversionNameを使用するにはどうすればよいですか?例えばAndroidStudio/gradleは以前の変数に基づいて変数を割り当てることができます

、どのように私は

android { 
    ... 
    defaultConfig { 
     ... 
     versionName "1.0" 
    } 
    ... 
    productFlavors { 
     free { 
     versionName = versionName + "_free" 
     ... 
     } 
     paid { 
     ... 
     } 
    } 
    ... 
} 

を使用することができますので、versionNameは、無料の風味のため"1.0_free"です。これは可能ですか?

+0

'versionNameSuffix" _free "'の使用についてはどうですか? –

+1

'versionNameSuffix'を使うことができます。この[ようこそ](http://stackoverflow.com/a/19184323/3942452)のように –

+0

可能性のある複製[どのように追加dateNameは、gradle上のversionNameSuffixビルド](http://stackoverflow.com/questions/19172565/how -append-date-build-to-versionnamesuffix-on-gradle)と[gradleを使用したAPKファイル名でのversionNameの設定方法](http://stackoverflow.com/questions/18332474/how-to-set-versionname-in -apk-filename-using-gradle) –

答えて

0

あなたはversionNameSuffix "_free"を使用することができます。サフィックスの詳細については、Configure Build VariantsGradle Plugin User Guide をご覧ください

productFlavors { 
     free { 
     // you can also use this 
     // applicationIdSuffix ".free" 
     versionNameSuffix "_free" 
     ... 
     } 
     paid { 
     ... 
     } 
    } 

+0

作品 - 私にはあまりにも特殊なようです。 VersionNameはうまく動作しますが、ApplicationIdで同じことをしたい場合はどうしたらいいですか?また、私はいくつか古いコメントを読んだことがあります。 "はい、知っていますが、versionNameSuffixはどのgradleタスクよりも前に初期化されるので、あるタスクから変更することはできません。"質問/ 21414399/android-gradle-dynamic-change-version-at-build-time –

+0

ああ - 私はapplicationIdSuffixがあると思う。この資料はどこに文書化されていますか? –

+0

@stevensmith:ドキュメントのリンクを追加しました。私たちに役立つことを願っています;) –

関連する問題