android 多渠道打包

1、配置Gradle(Android Studio)

buildTypes {

    release {
        minifyEnabled true
        // 移除无用的resource文件
        shrinkResources true
    //    multiDexEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.key

        // 自定义输出配置
        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                def outputFile = output.outputFile
                if (outputFile != null && outputFile.name.endsWith('.apk')) {
                    // 输出apk名称为app_v1.0_wandoujia.apk
                    def fileName = "项目e_v${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
                    output.outputFile = new File(outputFile.parent, fileName)
                }
            }
        }
    }


// 渠道
productFlavors {
    kuan {}
    xiaomi {}
    qh360 {}
    baidu {}
    wandoujia {}
}

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

2、修改AndroidManifest.xml 友盟的配置

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

3、进行打包

Build-》Generate Signed APK

填写信息后选择渠道打包。

报错

Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.> java.io.IOException: Please correct the above warnings first.

解决

proguard-rules.pro文件添加:

-ingorewranings  #忽略警告

4、终端统一打包

打开终端输入:

 ./gradlew assembleRelease

如果还没安装gradle,会自动下载安装。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容