Android Studio 3.x 多渠道打包相关

1. AndroidManifest 配置

application 节点中添加渠道配置。

<meta-data
    android:name="UMENG_CHANNEL"
    android:value="${UMENG_CHANNEL_VALUE}" />

name固定为友盟,value为渠道标识(随渠道变化)。

2. module 层的 build.gradle 配置

Android Studio 3.0 后 gradle 添加了 flavorDimensions 属性,用来控制多个版本的代码和资源,缺失会报错。

2.1 单版本打包
android {
    ...
    defaultConfig {
        ...
        flavorDimensions "versionCode" //版本规格,写死
    }
    ...
    productFlavors {
        huawei {}
        baidu {}
        xiaomi {}
    }
    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
    ...
}
2.2 多版本打包
android {
    ...
    flavorDimensions "dimension1","dimension2"
    productFlavors {
        huawei {
            dimension "dimension1"
        }
        baidu {
            dimension "dimension2"
        }
        xiaomi {
            dimension "dimension2"
        }
    }
    productFlavors.all {
      flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
    ...
}
3. 自定义打包APK名称
android {
    ...
    applicationVariants.all { variant ->
        variant.outputs.all { output ->
            def fileName = "我的应用v${variant.versionName}-${variant.productFlavors[0].name}-${variant.buildType.name}.apk"
            def outFile = output.outputFile
            if (outFile != null && outFile.name.endsWith('.apk')) {
                outputFileName = fileName
            }
        }
    }
    ...
}
4. 为渠道添加个性化配置
xiaomi {
    //配置包名
    applicationId "com.wdx.xiaomi"
    //添加资源(以 string 为例,资源文件中不能有同名资源)
    resValue "string", "new_string", "我是新添加的资源"
    //添加 BuildConfig 变量(使用 BuildConfig.MY_PHONE_TYPE 调用)
    buildConfigField "String", "MY_PHONE_TYPE", '"我是小米手机"'
}
5. 配置签名文件
  1. Build >> Generate signed APK
  2. Project Structure >> Signing 与 Build Types >> Gradle打包

第二种方法配置完会在 module 层的 build.gradle 文件中生成签名信息。

signingConfigs {
    release {
        keyAlias 'myJks'
        storeFile file('../myJks.jks')
        keyPassword = 111111
        storePassword = 111111
        v1SigningEnabled true
        v2SigningEnabled true
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值