gpt4 book ai didi

android - 用于覆盖 build.gradle 中的属性的 Gradle 命令行参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:43 27 4
gpt4 key购买 nike

每当导入现有的 android 项目时,在大多数情况下,我们需要根据安装的工具版本号更改值

在项目/build.gradle

buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:x.x.x'
}
}

在项目/app/build.gradle

android {
compileSdkVersion xx
buildToolsVersion "xx.x.x"

defaultConfig {
applicationId "com.example.app.xyz"
minSdkVersion xx
targetSdkVersion xx
versionCode x
versionName "x.x"
}
...
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:x.xx'
compile 'com.android.support:appcompat-v7:xx.x.x'
compile 'com.android.support:recyclerview-v7:xx.x.x'
}

如何覆盖上面的值

classpath
compileSdkVersion
buildToolsVersion
targetSdkVersion

例如使用命令行参数

./gradlew installDebug -PCompileSdkVersion=26 -PbuildToolsVersion=26.0.0

或者类似的东西?

我的想法是使用一个相同的命令(以我安装的 sdk 版本号作为参数)来构建任何不是由我维护的项目。

如果我们必须构建多个由其他人管理的项目,这将很有帮助。它可以通过我们通过命令行参数覆盖他们的构建配置来节省很多时间,这样我们就不需要每次都通过特定的方式进行更改每个新导入的项目中的位置。

最佳答案

输入你的gradle.properties默认值:

SDK_VERSION=26

build.gradle中使用:

android {
compileSdkVersion project.getProperties().get("SDK_VERSION")
}

使用:./gradlew build -PSDK_VERSION=26

PS:别忘了,您还必须更改支持库的主要版本。

关于android - 用于覆盖 build.gradle 中的属性的 Gradle 命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47051593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com