友盟多渠道打包 Android Studio最佳实践

多渠道打包,为的就是统计各个渠道的下载数量,或者新增用户、日活跃量用户的一些相关数据,这就与友盟统计相关了。所以我们用友盟进行多渠道打包就可以了。

那么如何做呢,首先我们进入友盟的官网https://www.umeng.com/ 
选择开发者中心,看到如下图片


然后回到自己的项目,在app的build.gradle添加以下代码

//友盟多渠道打包
compile 'com.umeng.analytics:analytics:latest.integration'

如果无法正常集成请添加如下代码 :

allprojects {
    repositories {
            mavenCentral()     
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5

接着,在AndroidManifest.xml文件下添加以下代码

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

在<application>标签内添加

<!--友盟统计SDK配置-->
<meta-data android:name="UMENG_APPKEY" android:value="5ad8501cb27b0a6c9a0000e9"/>
<!--设置动态渠道变量-->
<meta-data android:name="UMENG_CHANNEL"
           android:value="${UMENG_CHANNEL_V}" />

在app的build.gradle文件里配置

defaultConfig {
    applicationId "com.example.searchphone"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    multiDexEnabled true  //突破应用方法书65535的限制
    manifestPlaceholders = [UMENG_CHANNEL_V:"umeng"]//默认的打包名称
}

签名文件的生成





//配置签名文件
signingConfigs {
    debug {
        storeFile file("C:\\Users\\zhengyg\\AndroidStudioProjects\\zhengwanshi_signing.jks")
        storePassword "z3115002510"
        keyAlias "MyAlias"
        keyPassword "z3115002510"
    }
    //签名文件配置
    release {
        storeFile file("C:\\Users\\zhengyg\\AndroidStudioProjects\\zhengwanshi_signing.jks")
        storePassword "z3115xxx"
        keyAlias "MyAlias"
        keyPassword "z311xxx"

    }
}
 buildTypes {
        release {
            minifyEnabled false//是否混淆
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            signingConfig signingConfigs.release
//指定生成的apk文件名
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        // 输出apk名称为ruijie_v1.0_wandoujia.apk
                        def fileName = "${variant.productFlavors[0].name}.apk"
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }
        }
    }
productFlavors {
    xiaomi {

    }
    wandoujia {

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

在控制台的打包命令:

  • ./gradlew assembleDebug

  • ./gradlew assembleRelease

操作结果:

图形化打包操作:




操作结果:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值