Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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库配置Travis CI?_Android_Travis Ci - Fatal编程技术网

我应该如何为Android库配置Travis CI?

我应该如何为Android库配置Travis CI?,android,travis-ci,Android,Travis Ci,我正在开发一个Android库(,你可以在GitHub上找到),但我不知道每次推新代码时应该如何设置来构建它 我使用的.travis.yml文件如下所示: language: java script: - gradle bundleRelease 但它似乎被忽略了,因为从未调用过gradlebundrelease。取而代之的是,我得到了以下输出,它建议我调用gradleassemble Using worker: worker-linux-8-1.bb.travis-ci.org:tr

我正在开发一个Android库(,你可以在GitHub上找到),但我不知道每次推新代码时应该如何设置来构建它

我使用的
.travis.yml
文件如下所示:

language: java
script:
    - gradle bundleRelease
但它似乎被忽略了,因为从未调用过
gradlebundrelease
。取而代之的是,我得到了以下输出,它建议我调用
gradleassemble

Using worker: worker-linux-8-1.bb.travis-ci.org:travis-linux-5

travis_fold:start:git.1
$ git clone --depth=50 --branch=master git://github.com/mariosangiorgio/RateMyApp.git
[...]
mariosangiorgio/RateMyApp
Cloning into 'mariosangiorgio/RateMyApp'...
done.
travis_fold:end:git.1    
$ cd mariosangiorgio/RateMyApp
travis_fold:start:git.3
$ git checkout -qf 90faf4539c835136895ea92dd2bcc7da12ad1145
travis_fold:end:git.3
$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
$ javac -version
javac 1.7.0_45
travis_fold:start:install
$ gradle assemble
[...]
The command "gradle assemble" failed and exited with 1 during install.

Your build has been stopped.

我读了,但不幸的是,它对我没有多大帮助。

这是我的
yaml
文件,它正在构建apk。但它也应该适用于图书馆

language: java
jdk: oraclejdk7
branches:
  only:
    - master
before_install:
  - chmod +x gradlew
  # Install base Android SDK
  - sudo apt-get update -qq
  - if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch > /dev/null; fi
  - wget http://dl.google.com/android/android-sdk_r22.0.5-linux.tgz
  - tar xzf android-sdk_r22.0.5-linux.tgz
  - export ANDROID_HOME=$PWD/android-sdk-linux
  - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
  # install android build tools
  - wget https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-linux.zip
  - unzip build-tools_r19.0.1-linux.zip -d $ANDROID_HOME
  - mkdir -p $ANDROID_HOME/build-tools/
  - mv $ANDROID_HOME/android-4.4.2 $ANDROID_HOME/build-tools/19.0.1
  # Install required components.
  - echo yes | android update sdk --filter platform-tools --no-ui --force > /dev/null
  - echo yes | android update sdk --filter android-19 --no-ui --force > /dev/null
  - echo yes | android update sdk --filter extra-android-support --no-ui --force > /dev/null
  - echo yes | android update sdk --filter extra-android-m2repository --no-ui --force > /dev/null
install:
  - true
script:
  - TERM=dumb ./gradlew test assembleDebug
但是要小心,因为这个脚本不会将构建的人工制品推送到任何地方

我在for中使用了一个脚本


编辑:Travis CI已将Android作为一等公民来实施-

以解决为什么您看到的是
gradle assemble
而不是
gradle Bundrelease

默认情况下,Travis的
install:
stage中会调用
gradle assembly
(有关stage和的说明,请参阅)

由于脚本中没有
install:
部分来覆盖默认设置,Travis正在调用
gradle assemble

您可以通过添加以下行来防止这种情况,这些行告诉Travis在安装阶段不要执行任何操作:

install:
    - true
当我想让Travis执行gradlew AssembledBug时,Travis执行了
gradle assemble

因此,对我来说,完整的工作脚本(截至2014年5月1日)是:

感谢奥斯汀·马奥尼为我澄清了这一点

编辑


如前所述,截至2014年5月8日,Travis CI已删除Android beta版的默认
安装:
阶段。因此,您现在应该能够从脚本中删除
安装:
阶段,Travis不应该执行
gradle Assembly

谢谢!你能告诉我一些我能读到的东西,让TravisCI在某处发布工件吗?不幸的是,它不起作用。我知道了。你知道是什么引起的吗?你能在gradle行中添加
TERM=dumb
-TERM=dumb./gradlew bundleRelease
谢谢,调试正在发生的事情非常有用。在我的例子中,由于安装的SDK与我告诉gradle用于编译的SDK版本不匹配,错误是未能找到目标android-18。啊,我在我的项目中使用的是SDK 19。很好,你修好了
install:
    - true
language: android
jdk: oraclejdk7

android:
  components:
    - build-tools-19.0.1

install:
    - true

script: TERM=dumb ./gradlew assembleDebug