友盟的多渠道打包(简洁)
2019-10-22 本文已影响0人
残非
1.获得AppKey
去友盟官网创建一个应用,获取Appkey
2.下载SDK
去友盟官网下载SDK,放到lib包里面

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