分享多渠道打包

废话少说直接上代码

1.清单文件

    在application节点下添加一个meta-data节点:


2.gradle文件

在adnroid{}下创建productFlavors {}

1.在productFlavors {}中添加渠道名称:default_360 {}、default_xiaomi {}等

2.在productFlavors {}后面添加一个渠道管理的方法

```java

productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]       }

```


3.

```java

buildTypes {

release {

            /* minifyEnabled false

              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'*/


            // 是否进行混淆

            minifyEnabled false

            // 混淆文件的位置

            signingConfig signingConfigs.debug

            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

            debuggable true

            proguardFile'keystory/jks文件的地址'

            android.applicationVariants.all { variant ->

            variant.outputs.all {

                  outputFileName ="apk名称_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"

                }

        }

}

debug {

            minifyEnabled false

            signingConfig signingConfigs.debug

            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

            debuggable true

            proguardFile'keystory/jks文件的地址'

        }

}

```

4.

```java

signingConfigs {

debug {

storeFile file('keystory/jks文件的地址')

storePassword "密码"

        keyAlias "与生成的keyAlias保持一致"

        keyPassword "密码"

    }

}

```

5. android{}节点外的 与3中的 apk名称的时间点调用的

```java

allprojects {

repositories {

mavenCentral()

}

}

def releaseTime() {

return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))

}

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容