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' }