三、Gradle初级教程——Gradle除了签名打包还能配置jar包
1、gradle概念
构建工具,Groovy,Java。
2、gradle配置jar包,和libs文件夹导入jar包的区别





到此,还是这种方法导入JAR包比较方便。每次更新JAR包,只需要修改版本号就可以。这样不用每次下载JAR包,还得导入,每次更新还要覆盖。麻烦。如果没有得话,就只能老老实实的去自己下载JAr包,然后导入进来使用。

3、签名打包
a, Studio
Build --------- Generate Signed APK

b, 命令行
第一步,现在build.gradle文件中配置签名信息。



第二步,用命令行打包APK.
./gradlew assembleRelease
gradlew assembleRelease
// TODO
c, gradle wrapper的原理
为什么使用 gradlew ?
gradlew ---> gradle wrapper ---> gradle assembleRelease
间接调用:gradlew运行的时候,会去调用gradle wrapper, gradle wrapper会去找到系统中的
gradle,然后调用这个gradle去执行assembleRelease。这样调用的话就不用去配
置环境变量了,它会根据你的配置去找到相应版本的gradle,然后去执行。

distributionUrl:首先我们在加载这个工程的时候,gradle wrapper回去检查我当前有没有这个gradle-2.8-all版本的gradle。如果有我就连接上,直接加载工程。如果没有,gradle wrapper会根据这个地址去下载这个版本的gradle。这也是为什么第一次新建工程,运行,有一个gradle的下载(加载)过程。
4、BuildConfig的使用
是IDE自动帮助我们生成的一个类。

打印Log信息的时候,可以用BuildConfig.DEBUG去判断,好处是,如果你打包正式版APK的话。DEBUG会自动变成false. 我们也可以用来区别测试环境和生产环境来进行使用。

5、简单介绍module和build.gradle文件参数含义
apply plugin: 'com.android.application'
android {
signingConfigs {
FirstDemo {
keyAlias 'FirstDemo'
keyPassword '123456'
storeFile file('E:/Android_studio/FirstDemo.jks')
storePassword '123456'
}
}
// 编辑的SDK版本
compileSdkVersion 23
// 构建工具的版本
buildToolsVersion "23.0.2"
defaultConfig {
// 应用程序的包名
applicationId "com.firstdemo"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
} // 构建类型
buildTypes {
release {
// 控制是否需要混淆代码
minifyEnabled false
// 代码混淆文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.FirstDemo
}
}
} dependencies {
/* 将所有libs文件下的,所有JAR包,全部导入 */
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
/* 是导入JAR包,也是AAR包(包括代码和资源文件) */
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
/* 是导入一个Modle文件的意思 */
compile project(':stickyscroll')
/* 是导入JAR包 */
compile 'com.google.code.gson:gson:2.2.4'
}
三、Gradle初级教程——Gradle除了签名打包还能配置jar包的更多相关文章
- Ant打包可运行的Jar包(加入第三方jar包)
本章介绍使用ant打包可运行的Jar包. 打包jar包最大的问题在于如何加入第三方jar包使得jar文件可以直接运行.以下用一个实例程序进行说明. 程序结构: 关键代码: package com.al ...
- 2017.5.1 使用fat jar插件来打包有引用外部jar包的项目
如果在程序开发时用到了第三方提供的API.jar包或者其他附属资源.在导出并生成项目的jar文件时,必须将第三方的文件一并导出,否则无法正确运行. 可以使用fat jar插件,下载地址:http:// ...
- Springboot中IDE支持两种打包方式,即jar包和war包
Springboot中IDE支持两种打包方式,即jar包和war包 打包之前修改pom.xml中的packaging节点,改为jar或者war 在项目的根目录执行maven 命令clean pa ...
- [Gradle] 解决高德 jar 包打包到 aar 后 jar 包中的 assets 内容丢失
问题描述 将高德 SDK 的 jar 包放到 android library project libs 目录下,发布为 aar 包后,发现高德 jar 包中的 assets 目录下的内容不见了 原因见 ...
- spring-boot打包,引入外部jar包问题
这是我引入的外部jar包,打包的时候找不到外部jar包路径 弄了好久 在lib下引入外部jar包,运行没问题,但是打包是出现问题了,具体解决办法 再pom中加入如下配置,告诉maven导入本地jar ...
- Android 混淆打包不混淆第三方jar包
项目由于要公布,所以要混淆打包. 混淆打包流程: 1.在proguard-project.txt文件里加入不须要混淆的类和第三方的jar包 这个是保持自己包中不须要混淆的类,假设有些类调用了jni ...
- 通过idea 打包 spring maven项目打包为可执行jar包
用assembly打包一直报错: shangyanshuodeMacBook-Pro:target shangyanshuo$ java -jar jobscrawler-1.0-SNAPSHOT-j ...
- JAR-使用JAVA命令编译打包一个可执行jar包
一.开发一个演示项目 项目源代码开发 项目名称叫jar-package-example(其实只是一个文件夹, 用以将演示的所有文件夹和文件存放在其中, 没啥其它作用), 为了方便, 后文统一叫jar- ...
- maven打包war,导入本地jar包
方法1: 一 . 在项目根目录创建lib文件夹,把jar放入lib文件夹中 二 . 在项目中使用本地jar pom文件配置如下: <properties> <project.buil ...
随机推荐
- C#获取显示器屏幕数量 控制winform显示到哪一个屏幕
获取当前系统连接的屏幕数量: Screen.AllScreens.Count();获取当前屏幕的名称:string CurrentScreenName = Screen.FromControl(thi ...
- JS和JSP的差别
近期非常多同学在纠结于名词缩写之间的相似性.因此本人也来写一篇,讲讲JS和JSP的差别. SUN首先发展出SERVLET,其功能比較强劲,体系设计也非常先进,仅仅是,它输出HTML语句还是採用了老的C ...
- vue $http请求服务
vue中的$http服务 需要引入一个叫vue-resource.js的文件,因为vue.js中没有$http服务.如果需要使用这个服务去百度下载vue-resource.js 然后引进项目即可. ...
- [转]Oracle 10g如何对用户姓名,按首字母排序、查询
首先介绍Oracle 9i新增加的一个系统自带的排序函数 1.按首字母排序 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICA ...
- Java类载入器(一)——类载入器层次与模型
类载入器 虚拟机设计团队把类载入阶段中的"通过一个类的全限定名来获取描写叙述此类的二进制字节流"这个动作放到Java虚拟机外部去实现.以便让应用程序自己决定怎样去获取所须要的类 ...
- WebSocket请求过程分析及实现Web聊天室
WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工(full-duplex ...
- 使用libjpeg 压缩yuv420到jpg (内存方式)
#include <Windows.h> #include <stdio.h> extern "C" { #include <jpeglib.h> ...
- iPhone4 降级6.12教程 无须SHSH 不装插件 不睡死[转载] by 轻鸢
无shsh降级电脑系统,细节操作等其它影响因素较多,不确保每个人都能成功,楼主发帖前刷机几十次均成功.步骤有些繁琐,按照步骤每一步都正确可保证最后不睡死 注意一下,无SHSH降级都是不完美的,开机需要 ...
- 基于jdom 的 xmluti
package cn.com.do1.wechat.common; import org.jdom.Attribute; import org.jdom.Document; import org.jd ...
- 16位结构的CPU,8086给出物理地址的方法
.16位结构的CPU 概括地讲,16位结构(16位机,字长为16位等常见说法,与16位结构的含义相同)描述了一个CPU具有下面几方面结构特性: 1.运算器一次最多可以处理16位的数据结构 2.寄存器的 ...