Android市场很多,如果一个一个打包势必是很麻烦的,这里多渠道打包就解决了这个问题。Android应用上传应用市场需要收集一些数据,这里就用到了第三方集成。
集成友盟
首先在友盟官网注册开发者账号,然后在应用统计里创建应用,这里会获取到友盟的app_key.
获取到app_key后,在module的gradle里配置友盟的集成
dependencies {
compile 'com.umeng.analytics:analytics:latest.integration'
}
在project的gradle里集成
allprojects {
repositories {
mavenCentral()
}
}
在Androidmanifest中添加下列代码
<manifest……>
<uses-sdk android:minSdkVersion="8"></uses-sdk>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application ……>
……
<activity ……/>
<meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"/>
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
</application>
</manifest>
把其中的YOUR_APP_KEY替换为刚申请到的项目的key,把Channel ID替换为${UMENG_CHANNEL_VALUE}以映射gradle里接下来的渠道配置,如下:在gradle的android{}块里配置
buildTypes {
release {
minifyEnabled true
//是否zip对齐
zipAlignEnabled true
// 移除无用的resource文件
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
// 输出apk名称为boohee_v1.0_2015-01-15_wandoujia.apk
def fileName = "myApk_${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
}
productFlavors {
wandoujia {}
baidu {}
c360 {}
uc {}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
这样多渠道打包的配置就结束了。
生成渠道包
首先要配置好gradle的环境,不然生成渠道包的命令无法生效
一、配置gradle的环境变量
新建变量GRADLE_HOME,并制定gradle的安装路径,然后在path里指定bin位置 ;%GRADLE_HOME%\bin
gradle可以手动下载各个版本,这里给出下载链接http://www.androiddevtools.cn/,下载好后,解压缩,路径就是打开gradle根目录然后在地址栏里的地址,如果这个不明白的话我也没办法了,自己查吧。记得在as里配置使用的gradle路径,如下图
二、命令生成多渠道包
在as的Terminal里输入gradle assembleRelease
等待片刻就会在项目的build\outputs\apk下生成各个渠道包
也可以点击gradle工具里的tasks里点击对应的渠道包单个生成
或者在Terminal里输入例如:gradle assembleQihu360Release生成360的包
渠道包上传到渠道
这里只指明方法,具体自己去操作。首先如果你要上传到某个渠道,需要去该渠道注册开发者账号,注册好后就可以按照要求上传自己的应用了。例如小米市场,首先要注册小米开发者账号,注册好后准备几张应用的图片和一张logo图,logo图有尺寸要求,按照那个要求准备就好,然后上传等待审核就好了