友盟多渠道打包记录

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

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

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

                     
                 

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 可以看到打包结果。控制台成功打包后的截图如下:

友盟多渠道打包记录_第1张图片
Paste_Image.png
友盟多渠道打包记录_第2张图片
Paste_Image.png

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

你可能感兴趣的:(友盟多渠道打包记录)