热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android多渠道打包的方法步骤

本文介绍了Android多渠道打包的方法步骤,分享给大家,具体如下: 1.生成签名文件 点击 Build -> Generate Sig

本文介绍了Android多渠道打包的方法步骤,分享给大家,具体如下:

1.生成签名文件

点击 Build -> Generate Signed APK:

选择创建签名

2.创建一个签名

创建签名

红色填写部分需要认真填写,并牢记,其余部分随意填写

有了签名,单个app打包我就不详细说了,具体说下多渠道打包的步骤

2.多渠道打包

作用:就是根据不同的渠道值,去具体分析每个渠道的用户情况

步骤一:

在AndroidManifest.xml的application标签里添加一个meta-data标签定义


步骤二:

修改app下的build.gradle文件,在build.gradle中添加productFlavors属性配置占位符

   productFlavors {

      baidu {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
      }
      helper91 {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "helper91"]
      }
      anzhuo {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "anzhuo"]
      }
    }

或者

     productFlavors {

      baidu {
      }
      helper91 {
      }
       anzhuo {

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

配置完成,现在打包会发现

多渠道

可以选择不同的渠道去生成不同的apk文件

3.多渠道中修改某个渠道的包名

 helper91 {
      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "helper91"]
      applicatiOnId="com.test.channel"
    }

4.某个渠道使用不同应用名称或图标

比如百度渠道要使用自己单独的应用名称和图标

1.src目录下创建名字baidu的文件夹,这里文件夹的名字要和.gradle设置的渠道名字一样

2.创建values->strings.xml文件并创建字段”app_name”值为自己想要的应用名称

3.修文应用图标,在baidu文件夹下创建res文件夹,并且在res文件夹下边创建mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi,mipmap-xxhdpi,mipmap-xxxhdpi,不同像素值得文件夹,并把想要设置为应用的图标拷贝进去,注意这里的图片的名字必须和main下的一致。

5.自动规范apk的名字

 applicationVariants.all { variant ->
    variant.outputs.each { output ->
      def outputFile = output.outputFile
      if (variant.buildType.name.equals('release')) {
        //生成apk名字的格式:Channel_1.0.0_2016-06-22_baidu.apk
        //可自定义自己想要生成的格式
        def fileName = "Channel_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
        output.outputFile = new File(outputFile.parent, fileName)
      }
    }
  }
 
 def releaseTime() {
  return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • MyBatis模糊查询和多条件查询一、ISmbmsUserDao层根据姓名模糊查询publicListgetUser();多条件查询publicList ... [详细]
  • Android的四种启动模式
     对Android的启动模式不是很了解,这里记录下简单的理解内容以便日后查看。 Androi的四种启动模式分别为:standard,singleTop,singleTask,sing ... [详细]
  • 一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说 ... [详细]
  • 安全加密C语言库OpenSSL,在Android中服务器和客户端之间的签名验证和数据加密通信等。OpenSSL系列文章:一、AndroidCMake轻松 ... [详细]
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
  • 手机照片无故丢失怎么去处理恢复手机照片删除了怎么恢复呢?现在的手机功能越来越齐全,一部相素比较好的手机完全可以被当做一个数码相机来使用,而且比相机更方便携带,这也 ... [详细]
  • 华为云重大变革:CloudAI 升至华为第四大 BG ,火力全开
    本文由王刚与张帅合作完成。1月14日消息,据报道,华为近日对内部组织架构进行了新一轮的调整,涉及到多位重要高管的任命。其中, ... [详细]
  • 大数据分析Python有哪些爬虫框架
    一、ScrapyScrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用 ... [详细]
  • 接口自动化相关面试题
    你好,我是懂Java的测试最近辅导简历,有同学向我反馈,自学过接口自动化、没有落地接口自动化项目办?还有很多同学落地实践过自 ... [详细]
  • 先下载linuxhttp:cdimage.ubuntu.comreleases14.04release我下载的是ubuntu-14.04.3-desktop-amd64mac.is ... [详细]
  • 自然语言处理中传统词向量表示VS深度学习语言模型(二)
    上一篇自然语言处理中传统词向量表示VS深度学习语言模型(一)主要介绍了关于语言表示的问题,今天在正式接触word2vec之前还是想啰嗦一下自然语言处理的基本问题以及语言模型等方面的知识。 ... [详细]
  • 智能家庭如何摆脱“伪智能”困境?
      文/宿命在纠结:2014-12-04  智能家庭是今年超级火爆的领域,一波波的硬件层出不穷,从智能路由、智能摄像头、智能插座、智能空调到最近又开始兴起的智能空气净化器,不过大多 ... [详细]
  • hibernate映射组件映射
    在Hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid(对象标识符),compo ... [详细]
  • 在ROS系统中,参数读写一般通过xml或者yaml格式的文件,其中yaml用得比较多。这是一种可读性高,轻量级的标记语言,简单好用。对于yaml文件,ros中用的较早版本的yaml- ... [详细]
  • 如何理解MyBatis动态SQL
    本篇内容主要讲解“如何理解MyBatis动态SQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解M ... [详细]
author-avatar
手机用户2502896641
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有