美文网首页
android 一键打包。一键打出不同包名、应用名、版本名、签名

android 一键打包。一键打出不同包名、应用名、版本名、签名

作者: nade_s | 来源:发表于2019-12-18 21:10 被阅读0次

不同图标和不同应用名 适用于多平台上传问题
不同意包名 适用于马甲包
不同版本名 适用于多平台版本不同问题
不同应用图标、不同包名、不同版本名、不同签名。适用于一套代码打出多个应用
本文主要使用gradle执行

打出不同应用名,不同应用图标的包
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"]
}
}

打出不同应用名,不同应用图标,不同包名的包
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"]
       
    }
}

打出不同应用名,不同应用图标,不同包名,不同版本,不同版本号的包
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"]
     
    }
}

打出不同应用名,不同应用图标,不同包名,不同版本,不同版本号,不同签名的包

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
}
}

打出不同应用名,不同应用图标,不同版本,不同版本号,不同签名的包

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">

可打包测试。欢迎评论/讨论私信

相关文章

网友评论

      本文标题:android 一键打包。一键打出不同包名、应用名、版本名、签名

      本文链接:https://www.haomeiwen.com/subject/rdcpnctx.html