版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/darling_R/article/details/61925391
转载请注明出处:http://blog.csdn.net/darling_R/article/details/61925391
如今一款APP一般都会发布到不同的应用市场上来增加推广以及知名度,今天就来说说Android的多渠道打包。
拿友盟来举例说明。
1。首先添加对友盟的依赖:
compile 'com.umeng.analytics:analytics:latest.integration'
在manifest文件里添加meta标签
<meta-data
android:name="UMENG_APPKEY"
android:value="58c6631265b6d67e4800017e" /><!-- 友盟key-->
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" /><!-- 友盟渠道号-->
在UMENG_CHANNEL的value里使用占位符,一遍后面可以方便的动态替换渠道号,如果只发布一个渠道的apk,那么直接就在这里写成固定的就可以了
2。第二步,编写配置文件
前提是你已经生成好签名文件啦
在build.gradle 文件里
defaultConfig {
applicationId "com.yh.okhttpdemo2"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true //突破应用方法数65535的限制
//默认渠道号,比如说就叫umeng
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
}
//添加签名配置文件
signingConfigs {
debug {
keyAlias 'xiaohei'
keyPassword '123456'
storeFile file('E:/workspace/studio/OkHttpDemo2/app/tests.jks')
storePassword '123456'
}
//为release包添加签名配置
release {
keyAlias "xiaohei"
keyPassword "123456"
storeFile file("E:/workspace/studio/OkHttpDemo2/app/tests.jks")
storePassword "123456"
}
}
buildTypes {
release {
minifyEnabled false //是否启用混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
//指定渠道名字
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outFile = output.outputFile
if (outFile != null && outFile.name.endsWith(".apk")) {
def fileName = "${variant.productFlavors[0].name}" + ".apk"
output.outputFile = new File(outFile.parent, fileName);
}
}
}
}
}
productFlavors {
//使用当前的value值替换manifest中的占位符
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
}
然后就可以在控制台,执行 gradlew assembleReslease,等待执行完毕,会出现BUILD SUCCESS,表示你已经成功了,可以去app\build\outputs\apk 文件夹下查看对应的apk安装包。
另外一种方式:
可以直接在studio窗口上操作,这种方式跟上面那种命令行相比,简单很多,不过感觉没有命令行的逼格高,哈哈哈哈
打开 File–Project Structure
如图所示,在右边选择 Signing 可以设置release和debug包的签名文件,选择Flavors,在里面点击左边的“+”添加不同的渠道,设置相关内容即可。
最后如下图所示,打包生成apk即可。
到此,使用Android Studio进行多渠道打包就结束了。