不同圖標(biāo)和不同應(yīng)用名 適用于多平臺(tái)上傳問(wèn)題
不同意包名 適用于馬甲包
不同版本名 適用于多平臺(tái)版本不同問(wèn)題
不同應(yīng)用圖標(biāo)曙蒸、不同包名、不同版本名岗钩、不同簽名逸爵。適用于一套代碼打出多個(gè)應(yīng)用
本文主要使用gradle執(zhí)行
打出不同應(yīng)用名,不同應(yīng)用圖標(biāo)的包
flavorDimensions "nade"
productFlavors{
app1{
resValue "string", "app_name", "app1"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "1"
manifestPlaceholders = [ENVIRONMENT: "app1",
app_icon : "@mipmap/freechat_logo"]
}
app2{
resValue "string", "app_name", "app2"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "2"
manifestPlaceholders = [ENVIRONMENT: "app2",
app_icon : "@mipmap/ic_launcher"]
}
}
打出不同應(yīng)用名凹嘲,不同應(yīng)用圖標(biāo),不同包名的包
flavorDimensions "app"
productFlavors {
app1 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo1"]
applicationId "com.nade.androidsqdemo1"
resValue "string", "app_name", "app1"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "1"
manifestPlaceholders = [ENVIRONMENT: "app1",
app_icon : "@mipmap/freechat_logo"]
}
app2 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo2"]
applicationId "com.nade.androidsqdemo2"
resValue "string", "app_name", "app2"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "2"
manifestPlaceholders = [ENVIRONMENT: "app2",
app_icon : "@mipmap/ic_launcher"]
}
}
打出不同應(yīng)用名,不同應(yīng)用圖標(biāo),不同包名,不同版本构韵,不同版本號(hào)的包
flavorDimensions "app"
productFlavors {
app1 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo1"]
applicationId "com.nade.androidsqdemo1"
versionCode 1
versionName "1.0"
resValue "string", "app_name", "app1"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "1"
manifestPlaceholders = [ENVIRONMENT: "app1",
app_icon : "@mipmap/freechat_logo"]
}
app2 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo2"]
applicationId "com.nade.androidsqdemo2"
versionCode 2
versionName "2.0"
resValue "string", "app_name", "app2"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "2"
manifestPlaceholders = [ENVIRONMENT: "app2",
app_icon : "@mipmap/ic_launcher"]
}
}
打出不同應(yīng)用名周蹭,不同應(yīng)用圖標(biāo),不同包名,不同版本,不同版本號(hào)疲恢,不同簽名的包
signingConfigs {
def key1alias = 'db'
def key1Password = '123456'
def key1FilePath = 'G:/SpaceFile/AndroidTestDemo/db.jks'
def store1PassWord = '123456'
def key1alias1 = 'db1'
def key1Password1 = '123456'
def key1FilePath1 = 'G:/SpaceFile/AndroidTestDemo/db1.jks'
def store1PassWord1 = '123456'
release1 {
keyAlias key1alias
keyPassword key1Password
storeFile file(key1FilePath)
storePassword(store1PassWord)
}
release2{
keyAlias key1alias1
keyPassword key1Password1
storeFile file(key1FilePath1)
storePassword(store1PassWord1)
}
}
flavorDimensions "app"
productFlavors {
app1 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo1"]
applicationId "com.nade.androidsqdemo1"
versionCode 1
versionName "1.0"
resValue "string", "app_name", "app1"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "1"
manifestPlaceholders = [ENVIRONMENT: "app1",
app_icon : "@mipmap/freechat_logo"]
signingConfig signingConfigs.release1
}
app2 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo2"]
applicationId "com.nade.androidsqdemo2"
versionCode 2
versionName "2.0"
resValue "string", "app_name", "app2"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "2"
manifestPlaceholders = [ENVIRONMENT: "app2",
app_icon : "@mipmap/ic_launcher"]
signingConfig signingConfigs.release2
}
}
打出不同應(yīng)用名凶朗,不同應(yīng)用圖標(biāo),不同版本,不同版本號(hào)显拳,不同簽名的包
signingConfigs {
def key1alias = 'db'
def key1Password = '123456'
def key1FilePath = 'G:/SpaceFile/AndroidTestDemo/db.jks'
def store1PassWord = '123456'
def key1alias1 = 'db1'
def key1Password1 = '123456'
def key1FilePath1 = 'G:/SpaceFile/AndroidTestDemo/db1.jks'
def store1PassWord1 = '123456'
release1 {
keyAlias key1alias
keyPassword key1Password
storeFile file(key1FilePath)
storePassword(store1PassWord)
}
release2{
keyAlias key1alias1
keyPassword key1Password1
storeFile file(key1FilePath1)
storePassword(store1PassWord1)
}
}
flavorDimensions "app"
productFlavors {
app1 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo1"]
applicationId "com.nade.androidsqdemo1"
versionCode 1
versionName "1.0"
resValue "string", "app_name", "app1"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "1"
manifestPlaceholders = [ENVIRONMENT: "app1",
app_icon : "@mipmap/freechat_logo"]
signingConfig signingConfigs.release1
}
app2 {
manifestPlaceholders = [str: "releaseStr", package_name: "com.nade.androidsqdemo2"]
applicationId "com.nade.androidsqdemo1"
versionCode 2
versionName "2.0"
resValue "string", "app_name", "app2"
resValue "bool", "isrRank", 'true'
buildConfigField "int", "TYPE", "2"
manifestPlaceholders = [ENVIRONMENT: "app2",
app_icon : "@mipmap/ic_launcher"]
signingConfig signingConfigs.release2
}
}
清單文件
<application
android:allowBackup="true"
android:icon="${app_icon}"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
可打包測(cè)試棚愤。歡迎評(píng)論/討論私信