0

バージョンコードとバージョン名をフレーバーに設定できますが、ビルドタイプに設定するのが好きです。 これはどのような方法でも可能ですか?GradleでbuildTypeのバージョン名を設定する方法

defaultConfig { 
    versionCode 1 
    versionName "1" 
} 
buildTypes { 
    specialversion { 
     versionCode 2  // <--- Doesn't work. 
     versionName "2" // <--- Doesn't work. 
    } 
} 
+0

HTTPを見つけるかもしれない:// stackoverflowの.com/q/28691093/794088お役に立ちました – petey

+0

ありがとうございましたが、本当に助けになりませんでした。私はmanifestPlaceholders = [versionCode: "2"、versionName: "2"]で解決し、android:versionCode = "$ {versionCode}"のようなAndroidManifest.xmlにプレースホルダを追加しました。私はreallzが推奨されていないことを知っていますが、私の場合はこれまでのところ最高のソリューションです。 –

+0

答えてください – petey

答えて

0

HerebuildTypeに変更し得ることは、フィールドの完全なリストです。ご覧のように、必要なフィールドはありません。あなたは最高でversionNameSuffixを使用することがあります。

これはproductFlavorsの内側に配置する必要があります:

defaultConfig { 
    productFlavors { 
     specialversion { 
      versionCode 2  // <--- Doesn't work. 
      versionName "2" // <--- Doesn't work. 
     } 
    } 
} 
0

私はそれを次のように解決しました。おそらく推奨されませんが、私の場合は良い解決策です。

私は私のbuildvariantsでmanifestPlaceholdersの使用

buildTypes { 
demo { 
... 
      manifestPlaceholders = [iconpath: "@drawable/icon", versionCode:"161", versionName:"2.37"] 
     } 
    } 

でのAndroidManifest.xml内の値を置き換えて、私のAndroidManifest.xmlには、以下があります。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="xxx" 
    android:versionCode="${versionCode}" 
    android:versionName="${versionName}" 
    android:installLocation="auto">