多渠道打包

友盟的多渠道打包(简洁)

2019-10-22  本文已影响0人  残非

1.获得AppKey

去友盟官网创建一个应用,获取Appkey

2.下载SDK

去友盟官网下载SDK,放到lib包里面


image.png

3.mainifest文件里面的设置

<!-- 网络的权限,必须要有 -->
<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" />
<uses-permission android:name="android.permission.INTERNET" />

<!--友盟-->
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
<meta-data android:name="UMENG_APPKEY" android:value="你应用生成的appkey"/> //appkey

4.创建一个application

public class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "");
    }
}

在mainifest文件里面进行配置

5.配置多渠道文件

android {
compileSdkVersion 28
defaultConfig {
    applicationId "com.skyrayinstrument.wumeng.umeng"
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    // 添加一个默认渠道号
    manifestPlaceholders=[UMENG_CHANNEL_VALUE: "umeng"]
    flavorDimensions "versionCode"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

// 配置多渠道包支持
productFlavors {
    Tencent {
        // 投放应用宝市场
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "应用宝"]
        versionCode 2
        versionName "2.0"
    
    }
    xiaomi {
        // 投放小米市场
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "小米"]
        versionCode 1
        versionName "1.1"
    }
    Vivo {
        // 投放Vivo市场
    }
    baidu {
        // 投放百度市场
    }
    Oppo {
        // 投放Oppo市场
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "oppo"]
        versionCode 3
        versionName "1.3"
    }
}

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


    // 动态修改打包的文件名
    android.applicationVariants.all {
        variant ->
            variant.outputs.all {
                output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        // 输出apk名称为one_v1.0.0.apk
                        def fileName = "${defaultConfig.versionName}_v${variant.versionName}.apk"
                        outputFileName = fileName
                    }
            }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    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'
    implementation files('libs/umeng-common-2.0.2.jar')
    implementation files('libs/umeng-analytics-8.0.2.jar')
}

6.最后运行项目,并在友盟后台查看

参考链接

友盟多渠道打包:https://www.jianshu.com/p/107ff0c02ffb
多渠道替换包名:https://www.jianshu.com/p/5466dd926d0f

上一篇 下一篇

猜你喜欢

热点阅读