Gradle配置2

本文详细介绍了Android领域中Gradle的配置,包括compileOptions用于设置Java编译版本,以利用新语言特性;lintOptions允许在lint检查出错时继续编译;Proguard配置用于代码混淆和优化;以及Gradle动态参数配置的三种方式,如System.properties、keyvalue和直接属性引用,以灵活设置脚本参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android领域中的可选配置

compileOptions

compileOptions就是配置编译的选项,类似于在最前面声明的compileSdkVersion。但这里是设置Java的编译选项,通常可以在这里指定Java的编译版本,示例代码如下:

compileOptions{
        sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_8
        targetCompatibility org.gradle.api.JavaVersion.VERSION_1_8
    }

指定编译版本,通常是为了使用某些版本中的一些语言新特性。

lintOptions

这个选项用于控制lint代码检查。因为在lint check的时候,编译会因为lint的error而终止,通过设置这个选项,可以在lint check发生error的时候继续编译,代码如下:

lintOptions{
        abortOnError false
    }

构建Proguard

Proguard配置是android的apk混淆文件配置,但它的作用绝对不仅仅是混淆代码。它同样可以精简代码、资源,优化代码结构。也正是这个原因,在新版的android studio中, google将runProguard的参数名改为minifyEnabled,更直白的显示他的作用。它的配置也非常简单,在构建类型中直接配置参数启用即可,代码如下:

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }

这样在构建release版本时,系统就会自动进行混淆,而混淆文件的地址,则通过getDefaultProguardFile方法来获取,SDK默认的混淆文件配置模板,在SDK的tools/proguard目录下可以找到,如下图:
这里写图片描述

Gradle动态参数配置

在java程序中,通常会使用.properties文件来配置动态的设置参数,在gradle中也一样,gradle给开发者提供了gradle.properties文件来配置脚本中的动态参数。

System.properties方式

首先,打开gradle.properties文件,添加一下配置:

systemProp.keyAliasPassword=ct123456
systemProp.keyAlias=xys
systemProp.keyStorePassword=ct123456
systemProp.keyStore=demo.jks

这些配置实际上就是之前写死的配置参数,只不过这里把它们配置到了systemProp中。那么在build.gradle脚本中进行引用的时候,就可以通过System.properties[KEY]获取这些参数,代码如下所示:

signingConfigs{
        xys {
            storeFile file(System.properties['keyStore'])
            storePassword System.properties['keyStorePassword']
            keyAlias System.properties['keyAlias']
            keyPassword System.properties['keyAliasPassword']
        }
    }

key\value方式

还可以使用key\value方式来定义。在gradle.properties文件添加以下配置:

xys.keyAlias=xys
xys.keyAliasPassword=ct123456

然后在build.gradle中进行引用时,代码如下所示:

signingConfigs{
        xys {
            storeFile file(System.properties['keyStore'])
            storePassword System.properties['keyStorePassword']

            keyAlias project.property('xys.keyAlias')
            keyPassword project.property('xys.keyAliasPassword')
        }
    }

通过project.property(Key)方法,就可以取出对应的Value。这种方式与使用System.properties的方式基本一样,所以读者可以根据不同情况使用一种即可。

属性方式

前面两种方式,均可以在命令行中设置参数,从而设置给编译指令。如果不需要再命令行中设置参数,那么直接写属性名,同样可以进行引用,代码如下:

pKeyAlias=xys
pKeyAliasPassword=ct123456

这样在build.gradle脚本中就可以直接引用了,代码如下:

signingConfigs{
        xys {
            storeFile file(System.properties['keyStore'])
            storePassword System.properties['keyStorePassword']

            keyAlias pKeyAlias
            keyPassword pKeyAliasPassword
        }
    }

这样设置的效果与前面两种的效果是一样的,区别在于是否支持命令行配置参数。

### Gradle配置概述 在开发环境中,Gradle 是一种强大的构建工具,广泛应用于Java、Kotlin和其他编程语言的项目管理。对于Android项目的构建,通常通过`build.gradle`文件来进行详细的设置。 #### 修改Gradle安装路径 为了优化磁盘空间利用效率以及遵循最佳实践,推荐将Gradle及其缓存放置于非系统分区的位置[^1]。 #### 配置依赖库源 当需要从Maven仓库获取JAR包时,在`build.gradle`文件内应指定相应的远程仓库URL作为依赖解析位置。此操作涉及编辑repositories部分的内容,以确保能够正确访问所需的外部资源。 ```groovy repositories { mavenCentral() // 使用中央Maven仓库 } ``` #### 设置Gradle版本 针对特定需求调整所使用的Gradle版本是可行的;这主要取决于具体应用的要求或是团队内部的标准流程。更改位于项目根目录下的`gradle/wrapper/gradle-wrapper.properties`文件里的`distributionUrl`参数即可实现这一点[^2]。 ```properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip ``` #### 全局私服Nexus配置 除了单个项目级别的自定义外,还可以为整个环境设定统一的企业级私有存储库(如Nexus)。这类全局性的改动既能在各个单独的应用程序中体现出来,也能集中化管理和维护第三方组件的引入方式[^3]。 ```groovy allprojects { repositories { mavenLocal() maven { url 'http://your-nexus-server/repository/maven-releases/' } jcenter() } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值