友盟多渠道打包记录

作者: dong_hui | 来源:发表于2017-02-13 18:24 被阅读219次

1.注册友盟账号,使用友盟统计服务创建应用,获取appkey;
2.在build.gradle中添加对友盟库的依赖(android studio环境下):

    compile 'com.umeng.analytics:analytics:latest.integration'   //友盟分析

3.在manifest .xml文件声明appkey, 以及渠道占位符 ;

     <meta-data
              android:name="UMENG_APPKEY"
              android:value="your appkey"
            ></meta-data>                <!-- 友盟 app key-->
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}"
            ></meta-data>         <!-- 渠道号-->

4.在gradle 中动态替换掉占位符value 即可;代码如下:

 buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            signingConfig signingConfigs.release

            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        // 输出apk名称为appname_v1.0_2017-02-13_09_wandoujia.apk ,此处可自定义打包后的名字
                        // 下面的appname改为你自己的app name
                        def fileName = "keeplearn${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }
        }
    }

注:在使用此配置的时候,应该放置在调用此配置代码之前,build跟程序代码中编译顺序不一样

 //添加签名文件配置
    signingConfigs{
        //为release包添加签名文件配置
        release{
            keyAlias 'keeplearn'
            keyPassword 'yourpwd'
            storeFile file('your jks file  address')
            storePassword 'yourpwd'
        }
        debug{}
    }

注:这个方法的使用注意目录结构, 放在android{} 之上

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

//此处添加你要上传的应用市场
  productFlavors{
        xiaomi{
            manifestPlaceholders=[UMENG_CHANNEL_VALUE: "xiaomi"]
        }
        wandoujia{
            manifestPlaceholders=[UMENG_CHANNEL_VALUE: "wandoujia"]
        }
    }

5.在控制台使用 ./gradlew assembleRelease 自动打出所有渠道的包,在project状态下的目录结构outputs/apk 可以看到打包结果。控制台成功打包后的截图如下:

Paste_Image.png Paste_Image.png

参考资料:
http://stackoverflow.com/questions/22790801/android-gradle-signingconfig-error
如有问题可留言,将及时回复,have fun ...

相关文章

  • AndroidStudio

    APP多渠道打包――友盟

  • Android之友盟多渠道打包与数据统计(非原创)

    文章大纲 一、多渠道打包与数据统计介绍二、友盟实现多渠道打包实战三、友盟数据统计实战四、项目源码下载五、参考文章 ...

  • 安卓中多渠道打包

    今天简单记录下在安卓中的多渠道打包。 以下代码参考友盟多渠道打包。 首先在清单文件中加入以下代码: 然后在Modu...

  • 友盟多渠道打包记录

    1.注册友盟账号,使用友盟统计服务创建应用,获取appkey;2.在build.gradle中添加对友盟库的依赖(...

  • 多渠道打包

    环境 OSXAndroidStudio 1.0 多渠道设置 渠道号 以友盟SDK为例,打包多渠道:GooglePl...

  • PythonTool多渠道打包 (PythonTool的使用方法

    Android 多渠道打包的方法其实有很多。你可能用过友盟的多渠道打包 http://bbs.umeng.com/...

  • 多渠道打包

    之前没有接触过多渠道打包 从其他的文章学习了一下 记录一下. 我的多渠道的打包方法是基于友盟统计的,所以需要先集成...

  • 多渠道打包的两种方式总结

    一、友盟多渠道打包 1. 按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下...

  • Flutter module模式问题整理

    问题一: 问题原因:我的项目里用了友盟多渠道打包,把多渠道打包相关的配置删除=>clean 问题解决:正在寻找。。...

  • 友盟多渠道打包

    1,注册并生成appkey 2.在Androidstudio中添加依赖 compile 'com.umeng.an...

网友评论

    本文标题:友盟多渠道打包记录

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