多渠道打包,为的就是统计各个渠道的下载数量,或者新增用户、日活跃量用户的一些相关数据,这就与友盟统计相关了。所以我们用友盟进行多渠道打包就可以了。
那么如何做呢,首先我们进入友盟的官网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
操作结果:

图形化打包操作:



操作结果:

本文介绍如何使用友盟进行Android应用的多渠道打包,包括配置Gradle、添加权限及统计SDK,设置产品风味和签名配置等步骤。
547

被折叠的 条评论
为什么被折叠?



