Android Studio 使用友盟进行多渠道打包

 

今天给小伙伴们讲一讲Android Studio 使用友盟进行多渠道打包

首先需要去友盟官网注册开发者账号,然后创建运用拿到appkey

在清单文件中添加权限并配置友盟




    
    
    
    
    

    

        
        
        


        
            
                

                
            
        
    

引入友盟依赖  implementation 'com.umeng.analytics:analytics:latest.integration'

配置多渠道

  //多渠道打包支持
    productFlavors {

        Tencent {//投放应用宝市场
        }
        Baidu {//投放百度市场
        }
        Wandoujia {//投放豌豆荚市场
        }
        Vivo {//投放vivo市场
        }
        Oppo {//投放oppo市场
        }
        Xiaomi {//投放小米市场
        }
        Meizu {//投放魅族市场
        }
        Huawei {//投放华为应用市场
        }
        Lenovo {//投放联想市场
        }
        Letv {//投放乐视市场
        }
        Gionee {//投放金立市场
        }
        HiMarket {//投放安卓市场
        }

    }
    //注意我注释掉的,可以去掉注释,那样的话,下面这句就可以不用了
    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }

这里基本上要配置的都配置完了,但是你会发现有一个问题

Android Studio 使用友盟进行多渠道打包_第1张图片

遇到这个问题也不要慌主需要添加一句代码即可  flavorDimensions "versionCode"

Android Studio 使用友盟进行多渠道打包_第2张图片

然后就可以使用gradlew assembleRelease 打生产包 ;gradlew assembleDebug 打测试包

//编译并打所有的release包(通常上正式渠道只需要release包,所以我们只打release包就可以了)
gradlew assembleRelease
//编译并打所有的debug包
gradlew assembleDebug
//查看gradlew版本
gradlew -v
//清空
gradlew clean
// 编译
gradlew build

 下面运行最终效果

Android Studio 使用友盟进行多渠道打包_第3张图片

以上就是我们多渠道打包需要用到的一些东西,但是这些东西往往不够,我们有可能还需要友盟的统计功能,所以这里我们需要再添加一个依赖

Android Studio 使用友盟进行多渠道打包_第4张图片

并在自己的application里面初始化

Android Studio 使用友盟进行多渠道打包_第5张图片

接着在咋们的Activity里面添加有梦的两个方法用来统计

Android Studio 使用友盟进行多渠道打包_第6张图片

最后我们登录自己的友盟平台就可以看到使用详情

Android Studio 使用友盟进行多渠道打包_第7张图片

最后附上完成的app.gradle

apply plugin: 'com.android.application'

android {

    //多渠道打包支持
    productFlavors {

        Tencent {//投放应用宝市场
        }
        Baidu {//投放百度市场
        }
        Wandoujia {//投放豌豆荚市场
        }
        Vivo {//投放vivo市场
        }
        Oppo {//投放oppo市场
        }
        Xiaomi {//投放小米市场
        }
        Meizu {//投放魅族市场
        }
        Huawei {//投放华为应用市场
        }
        Lenovo {//投放联想市场
        }
        Letv {//投放乐视市场
        }
        Gionee {//投放金立市场
        }
        HiMarket {//投放安卓市场
        }

    }
    //注意我注释掉的,可以去掉注释,那样的话,下面这句就可以不用了
    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }

    //添加我们签名文件配置
    signingConfigs {
        debug {
            storeFile file("C:\\Users\\Administrator\\Desktop\\mykey.mykey")//key store
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
        release {
            storeFile file("C:\\Users\\Administrator\\Desktop\\mykey.mykey")
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
    }

    compileSdkVersion 27
    defaultConfig {
        applicationId "cn.llwy.com.mydemos"
        minSdkVersion 22
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]//添加一个默认渠道号
        flavorDimensions "versionCode"
    }
    buildTypes {
        debug {
            minifyEnabled false //不启用混淆
            //签名配置
            signingConfig signingConfigs.debug
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro',
                    'proguard-fresco.pro'

        }
        release {
            minifyEnabled false //不启用混淆
            //签名配置
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    /*友盟统计需要的最新版本组件化基础库和统计SDK*/
    implementation 'com.umeng.sdk:common:latest.integration'
    implementation 'com.umeng.analytics:analytics:latest.integration'
}

大家可以看到我们的包已经打好了至此教程也已经结束了,感谢大家多多支持多多关注。

如果小伙伴们集成遇到问题可以下载我的demo看看,简单易懂。注释齐全

附Demo下载链接

你可能感兴趣的:(移动开发,多渠道打包,友盟统计)