zoukankan      html  css  js  c++  java
  • 三、Gradle初级教程——Gradle除了签名打包还能配置jar包

    1gradle概念

    构建工具,GroovyJava

    2gradle配置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、简单介绍modulebuild.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'
    }
  • 相关阅读:
    LVS基于DR模式负载均衡的配置
    Linux源码安装mysql 5.6.12 (cmake编译)
    HOSt ip is not allowed to connect to this MySql server
    zoj 3229 Shoot the Bullet(无源汇上下界最大流)
    hdu 3987 Harry Potter and the Forbidden Forest 求割边最少的最小割
    poj 2391 Ombrophobic Bovines(最大流+floyd+二分)
    URAL 1430 Crime and Punishment
    hdu 2048 神、上帝以及老天爷(错排)
    hdu 3367 Pseudoforest(最大生成树)
    FOJ 1683 纪念SlingShot(矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/androidsj/p/5395321.html
Copyright © 2011-2022 走看看