Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从build.gradle中提取compileSdkVersion以用于.travis.yml?_Android_Build.gradle_Travis Ci - Fatal编程技术网

Android 如何从build.gradle中提取compileSdkVersion以用于.travis.yml?

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.

我想从app/build.gradle自动提取
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+"`