• 三、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'
    }
  • 相关阅读:
    Android调用Camera API 拍照导致图片变形
    [转]Android PorterDuff.Mode效果
    Android视频录制
    Android调用Camera API 拍照
    Android调用系统拍照
    android:windowIsTranslucent影响Activity生命周期onStop
    ProgressBar自定义之后图片拉伸的解决办法
    android开源ORM框架OrmLite使用教程
    AutoCompleteTextView源码分析
    Android App安全加固
  • 原文地址:https://www.cnblogs.com/androidsj/p/5395321.html
Copyright © 2020-2023  润新知