美文网首页
Android多渠道打包

Android多渠道打包

作者: 蜂鸟之歌 | 来源:发表于2016-11-29 23:53 被阅读22次

    概念:

    • 发布到不同渠道的app,使用不同的标记来标识,以便于统计数据

    原理:

    1. 为apk打标记(渠道的标识)
    1. 运行apk的时候取出标记
    2. 上传标记给服务器统计

    具体实现(以友盟为例)

    1. 使用Gradle进行多渠道打包
    • 在配置文件配置meta-data标签
    <meta-data
               android:name="UMENG_CHANNEL"
               android:value="${UMENG_CHANNEL_VALUE}"/>
    
    • 在app目录下build.gradle配置
       signingConfigs {
           config {
               keyAlias 'key别名'
               keyPassword 'key密码'
               storeFile file('../app/sobig.jks')
               storePassword 'jks密码'
           }
       }
    
      defaultConfig {
        applicationId "com.saipeisi.sobig"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 2010000
        versionName "1.0.0"
    
        signingConfig signingConfigs.config
    
        // dex突破65535的限制
        multiDexEnabled true
        // 默认是umeng的渠道
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
        }
    
       productFlavors {
           wandoujia {}
           _360 {}
           baidu {}
           xiaomi {}
           tencent {}
           sougou {}
           oppo {}
           mumayi {}
           meizu {}
           Lenovo {}
           kuchuan {}
           jinli {}
           jifeng {}
           huawei {}
           sobig {}
       }
       productFlavors.all { flavor ->
           flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
       }
    
    
    buildTypes {
        debug {
            signingConfig signingConfigs.config
        }
        release {
            signingConfig signingConfigs.config
        }
    }
    
    1. 使用开源项目MultiChannelBuildTool快速打包

    注意:原理是将一个空文件插入到已签名的包的MATE-INFO目录下,在app初始化的时候使用ChannelUtil.java获得对应的渠道标识,发送到自己服务器或者通过友盟api初始化进行数据统计
    https://github.com/GavinCT/AndroidMultiChannelBuildTool

    1. 使用开源项目packer-ng-plugin快速打包

    https://github.com/mcxiaoke/packer-ng-plugin

    相关文章

      网友评论

          本文标题:Android多渠道打包

          本文链接:https://www.haomeiwen.com/subject/ayxopttx.html