Android 如何从build.gradle中提取compileSdkVersion以用于.travis.yml?
我想从app/build.gradle自动提取Android 如何从build.gradle中提取compileSdkVersion以用于.travis.yml?,android,build.gradle,travis-ci,Android,Build.gradle,Travis Ci,我想从app/build.gradle自动提取compileSdkVersion和buildToolsVersion的值: 提取的值应替换.travis.yml中的硬编码值: env: global: - ANDROID_API_LEVEL=24 - ANDROID_BUILD_TOOLS_VERSION=27.0.3 我希望避免定义两次值,因为每次值更改时都要记住更新这两个值 中间状态:compileSdkVersion 以下行在shell上工作,以从app/build.
compileSdkVersion
和buildToolsVersion
的值:
提取的值应替换.travis.yml
中的硬编码值:
env:
global:
- ANDROID_API_LEVEL=24
- ANDROID_BUILD_TOOLS_VERSION=27.0.3
我希望避免定义两次值,因为每次值更改时都要记住更新这两个值
中间状态:compileSdkVersion
以下行在shell上工作,以从app/build.gradle中提取24
:
在Travis CI上运行相同的操作,如下所示:
env:
global:
- ANDROID_API_LEVEL=(`grep -H compileSdkVersion app/build.gradle | grep -o "[0-9]\+"`)
- ANDROID_BUILD_TOOLS_VERSION=27.0.3
导致以下错误:
$export ANDROID\u API\u LEVEL=(grep-H compileSdkVersion app/build.gradle>grep-o“[0-9]\+”
/home/travis/.travis/job\u阶段:评估:第57行:寻找匹配项时出现意外的EOF`) 中间状态:buildToolsVersion 提取
buildToolsVersion
仍然不能很好地工作
$ grep -H buildToolsVersion app/build.gradle | grep -o '[\.0-9]\+'
.27.0.3
以下
grep
命令提取Travis CI环境中的compileSdkVersion
和buildToolsVersion
:
env:
global:
- ANDROID_API_LEVEL=`grep -H compileSdkVersion app/build.gradle | grep -Po "\d+"`
- ANDROID_BUILD_TOOLS_VERSION=`grep -H buildToolsVersion app/build.gradle | grep -Po "\d+.\d+.\d+"`
$ grep -H buildToolsVersion app/build.gradle | grep -o '[\.0-9]\+'
env:
global:
- ANDROID_API_LEVEL=`grep -H compileSdkVersion app/build.gradle | grep -Po "\d+"`
- ANDROID_BUILD_TOOLS_VERSION=`grep -H buildToolsVersion app/build.gradle | grep -Po "\d+.\d+.\d+"`