Ref:

Maven仓库上查插件最新版本号
The Central Repository Search Engine
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.greenrobot%22%20AND%20a%3A%22eventbus%22

Android studio 自定义打包apk名 - petercao - 博客园
http://www.cnblogs.com/bluestorm/p/6228085.html

Android打包的那些事
http://www.cnblogs.com/qianxudetianxia/p/4948499.html

Android Studio中gradle的一些玩法
http://blog.csdn.net/jiujiedexiaoming/article/details/54962436

Android开发之深入理解Android Studio构建文件build.gradle配
http://www.cnblogs.com/dazhao/p/6692416.html

自动化构建
如何使用jenkins打包android和ios,并上传到蒲公英平台

《使用jenkins自动化构建android和ios应用》
http://www.jayfeng.com/2015/10/22/%E4%BD%BF%E7%94%A8jenkins%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9E%84%E5%BB%BAandroid%E5%92%8Cios%E5%BA%94%E7%94%A8/

1.全局变量的使用

ext {
//全局变量控制,可在module中的build.gradle文件通过rootProject.ext.xxx开头来使用
compileSdkVersion = 24
buildToolsVersion = '24.0.3'
supportVersion = '24.2.1'
//主程序版本
targetSdkVersion = 24
minSdkVersion = 15
versionCode = 1
versionName = "v1.0.0"
//library版本
jjdxm_minSdkVersion = 9
jjdxm_versionCode = 1
jjdxm_versionName = "v1.0.0"
jjdxm_v4 = 'com.android.support:support-v4:'+supportVersion
jjdxm_v7 = 'com.android.support:appcompat-v7:'+supportVersion
jjdxm_design = 'com.android.support:design:'+supportVersion
jjdxm_cardview = 'com.android.support:cardview:'+supportVersion
jjdxm_recyclerview = 'com.android.support:recyclerview-v7:'+supportVersion
}

module的build.gradle中调用全局变量中元素

apply plugin: 'com.android.library'

android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig {
minSdkVersion rootProject.ext.jjdxm_minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.jjdxm_versionCode
versionName rootProject.ext.jjdxm_versionName testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
} dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
compile rootProject.ext.jjdxm_v7
compile rootProject.ext.jjdxm_design
}

  

sdk版本设置规则

minSdkVersion <= targetSdkVersion <= compileSdkVersion   //(版本号<= 小于等于) 
minSdkVersion <= buildToolsVersion <= compileSdkVersion

2.配置打包用的签名

主要有接过分享或者授权登录功能的都应该知道,像微信或者微博的分享和授权登录提供sdk,只有在指定的签名下才能生效,而我们平时开发都习惯使用默认的androidkeystore打包签名,这个时候想要测试分享或者登录功能就需要手动去打包指定keystore的签名。非常影响开发效率,这个时候可以通过配置gradle,根据release或者是debug打包指定的签名。

项目根目录新建一个签名用到的密码管理文件signing.properties

signing.alias=dou361            #release
signing.password=dou361 #release
signing.jjdxm_alias=dou361 #debug
signing.jjdxm_password=dou361 #debug

在主程序build.gradle的apply plugin: ‘com.android.application’下面添加

Properties props = new Properties()
props.load(new FileInputStream(file(rootProject.file("signing.properties"))))

  

在android{}节点里面添加

signingConfigs {
release {
keyAlias props['signing.alias']
keyPassword props['signing.password']
storeFile file(rootProject.file("debug.keystore"))
storePassword props['signing.password']
} debug {
keyAlias props['signing.jjdxm_alias']
keyPassword props['signing.jjdxm_password']
storeFile file(rootProject.file("debug.keystore"))
storePassword props['signing.jjdxm_password']
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

  

 

Android打包 & Gradle用法的更多相关文章

  1. [原]Android打包之Gradle打包

    最近尝试了一下Android的Gradle打包,发现确实比Ant打包会方便很多,特此记录下来. 注:android的gradle现在插件的版本已经是0.14.3了,对于一些老的方法和api,有一些已经 ...

  2. Android studio gradle 打包 那些事

    总结了一下 目前觉得比较好用的gradle 和一些打包 经验.放在这里. 首先说下 渠道号 这个概念,我们经常会统计我们的api 访问来源 是来自于那个app store,这有利于 我们针对性的推广. ...

  3. Android使用gradle不同配置多项目打包

    //build.gradle该配置文件里路径均是相对路径 apply plugin: 'com.android.application' android { def suffix = "su ...

  4. Android 使用 Gradle 多渠道打包

    安卓开发完毕.对于一个开放应用而言,我们须要公布到不同的应用市场,同一时候我们也须要统计不同市场的用户下载量. (通过启动应用后获取不同市场apk中的不同值来区分) 以下用一个详细的实例来说明: 1. ...

  5. Android使用Gradle命令动态传参完成打包,不需要修改代码

    不得不说,Gradle很强大,有人会问Gradle是什么?这里也不细讲,在我认为他就是一个构建神器.Gradle 提供了: 一个像 Ant 一样的非常灵活的通用构建工具 一种可切换的, 像 Maven ...

  6. 【Android】Android多渠道打包--Gradle打包

    Android多渠道打包--Gradle打包 前言 由于App一般都会在多个应用市场上架,为了分析App在每个不同渠道的具体的数据,一般都会对不同渠道打包不同的App.多渠道打包有多种方式,这里只介绍 ...

  7. 深入理解Android之Gradle

    深入理解Android之Gradle 格式更加精美的PDF版请到:http://vdisk.weibo.com/s/z68f8l0xTYrZt 下载 Gradle是当前非常"劲爆" ...

  8. [Android][Android Studio] Gradle项目中加入JNI生成文件(.so文件)

    版权声明:本文作者:Qiujuer https://github.com/qiujuer; 转载请注明出处,盗版必究! ! ! https://blog.csdn.net/qiujuer/articl ...

  9. [转]加速Android Studio/Gradle构建

    加速Android Studio/Gradle构建 android android studio gradle   已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多, ...

随机推荐

  1. Hyperledger Fabric Ledger——账本总账

    Ledger Ledger(账本)即所有的state transitions(状态切换),是有序且不可篡改的.state transitions(状态切换)是由参与方提交的chaincode(智能合约 ...

  2. python处理数据pandas视频资料

    python强大数据处理工具pandas视频资料:https://pan.baidu.com/s/17VRd1cgFaKi20drfCgZ8Gg

  3. Django_rest_framework_版本(待验证)

    简介 API版本控制可以用来在不同的客户端使用不同的行为.REST框架提供了大量不同的版本设计. 版本控制是由传入的客户端请求决定的,并且可能基于请求URL,或者基于请求头. 有许多有效的方法达到版本 ...

  4. iOS开发日常遇到问题记录

    1. [self.navigationController.navigationBar setTranslucent:NO]; iOS 7 之后,setTranslucent=yes 默认的   则状 ...

  5. JS以及CSS对页面的阻塞

    一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...

  6. 20162325 金立清 S2 W3 C13

    20162325 2017-2018-2 <程序设计与数据结构>第3周学习总结 教材学习内容概要 查找是在一组项内找到指定目标或是确定目标不存在的过程 高效的查找使得比较的次数最少 Com ...

  7. 第二阶段每日站立会议First Day

    昨天我进行了用户界面的修改,例如按钮的大小,位置,使界面看起来更美观.更简洁 今天准备安装在手机端进行界面效果测试以及进一步完善 遇到的问题:有些按钮由于在之前固定好的布局之中,所以没法移动其位置

  8. web窗体之四则运算

    1,计算方法: namespace ASP.NET { public class JiSuan { public int S; public int Result { get { return S; ...

  9. [2017BUAA软工]个人项目心得体会:数独

    心得体会 回顾此次个人项目,感受比较复杂,最明显的一点是--累!代码编写.单元测试.代码覆盖.性能优化,环环相扣,有种从作业发布开始就一直在赶DDL的感觉,但是很充实,也学习到和体验了很多东西.最令人 ...

  10. selenium异常问题汇总(持续更新版)

    webdriver启动firefox时如果遇到以下错误,则说明selenium的版本和firefox不兼容了,升级selenium版本就好 org.openqa.selenium.firefox.No ...