使用travis制作android构建

时间:2014-04-18 18:38:56

标签: android android-gradle travis-ci

我在travis上构建android项目时遇到了下面提到的错误。

  

无法确定任务':projectname:packageDebug'的依赖关系。

我的travis.yml如下所示: -

language: java
jdk: oraclejdk7
env:
 matrix:
   - ANDROID_TARGET=android-19  ANDROID_ABI=armeabi-v7a
before_install:
 # Install base Android SDK
 - sudo apt-get update -qq
 - chmod +x gradlew
 - 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.3-linux.tgz
 - tar xzf android-sdk_r22.3-linux.tgz
 - export ANDROID_HOME=$PWD/android-sdk-linux
 - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

# Install required components.
# For a full list, run `android list sdk -a --extended`
# Note that sysimg-19 downloads only ARM, because only the first license query is accepted.
- echo yes | android update sdk --filter platform-tools --no-ui --force > /dev/null
- echo yes | android update sdk --all --filter build-tools-19.0.0 --no-ui --force > /dev/null
- echo yes | android update sdk --filter android-19 --no-ui --force > /dev/null
- echo yes | android update sdk --filter sysimg-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

我的buid.gradle如下所示: -

    apply plugin: 'android'
apply plugin: 'hugo'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.2"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
     } 
     dependencies {
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile 'com.android.support:support-v4:19.0.1'
    compile 'com.squareup.picasso:picasso:2.2.0'
    compile 'com.squareup.retrofit:retrofit:1.4.1'
    compile 'com.jakewharton.timber:timber:2.2.2'
    compile 'com.netflix.rxjava:rxjava-core:0.16.1'
    compile 'com.netflix.rxjava:rxjava-android:0.16.1'
    compile 'com.etsy.android.grid:library:1.0.3'
    compile 'com.romainpiel.shimmer:library:1.2.0@aar'
    debugCompile 'com.squareup.retrofit:retrofit-mock:1.4.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    }

有谁知道我做错了什么......

编辑: - travis构建的链接: - The Travis build for the app

1 个答案:

答案 0 :(得分:0)

您链接到的travis-ci构建的错误由于您在问题顶部指定的其他原因而失败。在line 46 Travis抛出错误:

echo yes | android update sdk --filter sysimg-19 --no-ui --force > /dev/null

在过去10分钟内未收到任何输出,这可能表示构建停滞或构建本身出现问题。

在你的情况下,这似乎意味着两件事之一:

  1. 安装SDK的那部分需要10分钟以上,并且因为您将所有输出路由到空Travis会导致构建无法输出。

  2. 安装SDK的那部分崩溃并挂起。

  3. 无论哪种方式,我建议将管道移到/dev/null,以便Travis看到输出而不是杀死构建,如果安装崩溃,你可以看到原因。

    这可能无法解决您的问题,但它是获得有效构建的开始。让我知道你之后还有问题。