使用友盟多渠道发布apk,使用gradle自动打apk是十分方便的,这里贴出build.gradle代码
AndroidManifest.xml配置如下:
<meta-data
android:value="${UMENG_CHANNEL}"
android:name="UMENG_CHANNEL"/>
build.gradle代码如下:
apply plugin: 'com.android.application'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':PushSDK')
}
android {
compileSdkVersion 22
buildToolsVersion "24.0.2"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
lintOptions {
abortOnError false
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['.apt_generated','src']
resources.srcDirs = ['.apt_generated','src']
aidl.srcDirs = ['.apt_generated','src']
renderscript.srcDirs = ['.apt_generated','src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
signingConfigs {
myConfig {
storeFile file("/Users/allen/Documents/workspace/game.keystore")
storePassword "abc123"
keyAlias "game"
keyPassword "abc123"
}
}
buildTypes {
release {
//添加签名
signingConfig signingConfigs.myConfig
//执行混淆
//runProguard true
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
productFlavors {
AA {
manifestPlaceholders = [ UMENG_CHANNEL:"AA"]
}
BB {
manifestPlaceholders = [ UMENG_CHANNEL:"BB"]
}
}
//重命名
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith("release.apk")) {
//这里按照实际情况重命名
def fileName = outputFile.name.replace("-release","");
output.outputFile = new File(outputFile.parent, fileName);
}
}
}
}
相关推荐
在AndroidStudio利用Gradle脚本上传Apk到蒲公英应用平台
gradle多渠道打包的两种实现demo
Gradle多渠道打包完整代码,下载即用,只需添加你需要的平台,更改你所需的配置即可!
Gradle编译打包Android apk详细介绍 理解Gradle构建过程,解读Android Gradle插件的配置 阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章。 APK包是一个ZIP...
Gradle多渠道打包完整代码,下载即用,只需添加你需要的平台,更改你所需的配置即可!
android gradle多渠道打包
androidstudio工程已经实现从外部读取渠道号批量打包 外部library依赖
Eclipse下用Gradle多渠道打包简单Demo,有部分备注。本人亲测成功后上传的,希望大家相互学习!
AndroidStudio--gradle多渠道打包示例
gradle将多模块打包成一个jar执行类demo,附博客地址:https://blog.csdn.net/qq_43813937/article/details/106869813
博客 Android Studio使用Gradle实现自动打包,签名,自定义apk文件名,多渠道打包,集成系统签名证书【附效果图附源码】 使用的资源,详细介绍请查看本人博客
主要介绍了Android如何在Gradle中更改APK文件名的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
Gradle多渠道打包(动态设定App名称,应用图标,背景图片,状态栏颜色.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
什么是多渠道打包以及多渠道打包可以做什么,这里就不做介绍了,相信看到这篇文章的你已经了解了,多渠道打包的方式比较多,这里我们用Gradle多渠道打包方式。 和其他文章有什么不同 网上看到的大多数文章都只讲解了...
App开发过程中,基本都需要多个环境,比如开发环境develop,测试环境check,生产环境product。各个环境下,网络请求的url会有所区别,一般我们通过baseUrl进行切换。
Eclipse采用AndroidStudio的编译打包方式利用gradle进行打包操作
gradle-packer-plugin 是Android多渠道打包工具Gradle插件,可方便的于自动化构建系统集成,通过很少的配置可实现如下功能 : 支持自动替换AndroidManifest文件中的meta-data字段实现多渠道打包 支持自定义多渠道...
http://blog.csdn.net/u012551350/article/details/62041833
Gradle Play发行商