Ubuntu reactjs sockets wcf syntax arduino grep vb6 vue图表 河南网络推广 jquery获取dom对象 short几个字节 kubernetes集群搭建 安装python 二分查找python python图形界面开发 python正则表达式语法 python函数的调用 java教程 java中的抽象类 java数组扩容 java对象和类 java中数据类型 python开发实例 房产证生成器 小米5c拆机 eclipse中文版下载 数据挖掘原理与算法 英雄联盟崩溃 源计划艾克 win10有几个版本 图片轮播代码 c语言编程实例 go程序设计语言 1667 视频添加水印 sendto函数 winhex中文版下载 网页之家 fireworks序列号
当前位置: 首页 > 学习教程  > 编程语言

Gradle配置多渠道打包详解,让你不再担心多渠道打包!!!

2020/11/4 15:05:11 文章标签:

简言: 最近一直没有更新博客,因为刚刚换了工作,新工作任务较多,导致一直没有更新博客,换了一个新的环境,接触的知识也变得更多了,之前一直做公司自己的线下产品,如何多渠道打包忘的差…

简言:

       最近一直没有更新博客,因为刚刚换了工作,新工作任务较多,导致一直没有更新博客,换了一个新的环境,接触的知识也变得更多了,之前一直做公司自己的线下产品,如何多渠道打包忘的差不多了,最近新公司项目上线,又得重新整理这个知识点,正好分享一下,如何用Gradle配置多渠道打包,(现在公司项目好多啊,表示好累啊!!!)下面分享一下通过Gradle打包的详细步骤:

 1.配置Debug的生产签名,方便调试

   // 配置Debug的生产签名,方便调试
    signingConfigs {
        release {
            storeFile file("签名文件名称.key")
            storePassword "签名文件密码"
            keyAlias "别名"
            keyPassword "签名文件密码"
        }
        debug {
            storeFile file("签名文件名称.key")
            storePassword "签名文件密码"
            keyAlias "别名"
            keyPassword "签名文件密码"
        }
    }

如果没有签名文件怎么办?我觉得android开发应该都会配置了,生成签名步骤:

1.点击build

2. 选择Generate sigend Bundle/apk...

3.弹出如下窗口,选择apk 点击next.

4.我这是有签名文件的,选择了签名文件,加上上边配置的密码以及别名,如果没有选择Create new 按钮:

5.这里输入别名,设置密码,选择别名位置等信息,就会生成一个新的别名,我就不详细说这里了,毕竟这个不是今天的主要任务;

到这里如何生成一个签名文件就讲解完毕了。

 

2.添加你想要的生成apk的渠道:

/*配置渠道*/
    productFlavors {
        android {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "android",
                                    app_name: "您的app名称"]
        }
        huawei {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei",
                                    app_name: "您的app名称"]
        }
        xiaomi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi",
                                    app_name: "您的app名称"]
        }
        vivo {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "vivo",
                                    app_name: "您的app名称"]
        }
        oppo {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "oppo",
                                    app_name: "您的app名称"]
        }
        
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu",
                                    app_name: "您的app名称"]
        }
    }

3.通过Gradle生成apk名称,带有渠道名称,时间戳,版本号,版本名称等信息:

 android.applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = defaultConfig.applicationId + "_" +
                    defaultConfig.versionName + "_" + defaultConfig.versionCode + "-" +
                    new Date().format("yyyyMMddHHmm") + "_" + productFlavors[0].getAt("name") +
                    ".apk"
        }
    }

4.在AndroidManfist.xml文件中引用Gradle的app名称,如下图所示:

5.如果做友盟统计,需要添加如下代码,获取Gradle中渠道名称:

 // 获取 UMENG_CHANNEL 对应的value
    public static String getChannelValue (Context context){
        try {
            ApplicationInfo info = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
            String value = info.metaData.getString("UMENG_CHANNEL");
            return value;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return "";
    }

6.打包,根据自己需要的渠道进行打包,(上方提供的签名方式就是打包方式,不详细讲解)

点击Finish进行打包,如下图就是打包结果:

到这里Gradle配置的多渠道打包就结束了,希望能帮助到您,如果帮助到您,帮忙点点关注。我会继续为大家分享更多的福利。。。


本文链接: http://www.dtmao.cc/news_show_350322.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?