编者an:1.文中搭建环境的话,没有什么问题,如果adt的话,至少需要ADT22以上的,否则Export不会出现Gradle这个选项
2.按照文中的方法以及原文demo,编译均有错误,需要注意。我转载主要仅仅是为了做一个备份,关于解决方法,我仅仅在本地做了些笔记
有时间就发博客整理一下。若遇到同样问题,欢迎留言。目前仅先在文章后增加一个可编译的build.gradle
原文出自:http://blog.csdn.net/x605940745
gradle其他好处就不多说,在android应用发布的时候,如果要统计多个渠道,gradle 批量打包的好处就显示出来了;
按eclipse的导出时 选择Android;如下图 然后按下面一步一步往下点
点击完成之后 工程里面就生成了如下的几个文件;也就是gradle的配置文件
打开gradle-wrapper.properties这个文件;可以看到distributionUrl这个地址;而这个地址就是gradle的下载地址;在浏览器打开下载 如下图:
将下载的文件押解出来;然后需要设置系统环境变量;需要设置变量名:GRADLE_HOME变量值为:C:\xiong\gradle-1.10-all\gradle-1.10(也就是你下载的Gradle文件的根目录)然后设置path;在后面加上C:\xiong\gradle-1.10-all\gradle-1.10\bin 如下图
然后运行在cmd中运行gradle -v来判断是否设置成功 如下图
确定安装成功之后就基本可以运行gradle命令来打包了;将cmd命令定位到工程的根目录,然后运行gradle bulid
如下图
如果需要批量打包;则在build.gradle进行配置
原始eclipse生成的文件内容如下
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:0.8.+'
- }
- }
- apply plugin: 'android'
- dependencies {
- compile fileTree(dir: 'libs', include: '*.jar')
- }
- android {
- compileSdkVersion 19
- buildToolsVersion "19.0.3"
- sourceSets {
- main {
- manifest.srcFile 'AndroidManifest.xml'
- java.srcDirs = ['src']
- resources.srcDirs = ['src']
- aidl.srcDirs = ['src']
- renderscript.srcDirs = ['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')
- }
- }
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:0.8.+'
- }
- }
- apply plugin: 'android'
- dependencies {
- compile fileTree(dir: 'libs', include: '*.jar')
- }
- android {
- compileSdkVersion 19
- buildToolsVersion "19.0.3"
- sourceSets {
- main {
- manifest.srcFile 'AndroidManifest.xml'
- java.srcDirs = ['src']
- resources.srcDirs = ['src']
- aidl.srcDirs = ['src']
- renderscript.srcDirs = ['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')
- //批量打包--指定配置文件
- //不同的渠道商对应的各自AndroidManifest
- //AndroidManifest的application标签只用配置渠道号的值
- //其他公共配置都放在公共的AndroidManifest.xml中
- one {
- manifest.srcFile 'tests/AndroidManifest1.xml'
- }
- two {
- manifest.srcFile 'tests/AndroidManifest2.xml'
- }
- instrumentTest.setRoot('tests')
- }
- //批量打包--声明
- productFlavors {
- one {
- //这里可以配置不同的包名
- }
- two {
- }
- }
- //签名
- signingConfigs {
- myConfig {
- storeFile file("11.keystore") //签名文件
- storePassword "111111"
- keyAlias "111111"
- keyPassword "111111" //签名密码
- }
- }
- }
如下图
build.gradle(可编译,且加注释)
----------------------------------------------------------------------------------------------------------------------------------------
//设置脚本运行环境
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
//声明构建项目类型
apply plugin: 'android'
//依赖包的定义
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
//设置编码格式
tasks.withType(Compile) {
options.encoding = "UTF-8"
}
//设置编译Android项目的参数
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
//设置签名信息,注:yuqing.key需要放在项目目录下
signingConfigs {
myConfig{
storeFile file("yuqing.key")
storePassword "123456"
keyAlias "123456"
keyPassword "123456"
}
}
buildTypes {
colling {
//这一行话是给colling包添加签名
signingConfig signingConfigs.myConfig
}
dianxin {
signingConfig signingConfigs.myConfig
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
colling {
manifest.srcFile 'tests/AndroidManifest1.xml'
}
dianxin {
manifest.srcFile 'tests/AndroidManifest2.xml'
}
instrumentTest.setRoot('tests')
}
}
---------------------------------------------------------------------------------------------------------------------------------------
本文详细介绍了在Android应用开发过程中如何使用Gradle进行应用发布,并通过配置Gradle build.gradle文件实现批量打包,适用于不同渠道商的特定需求。通过设置不同的产品风味和配置文件,开发者可以轻松地为每个渠道生成专属的应用包。
5246

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



