使用travis进行android构建

使用travis进行android构建,android,android-gradle-plugin,travis-ci,Android,Android Gradle Plugin,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

我在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
    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'])
    }
我的buid.gradle如下所示:-

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
    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版本的链接:-

您链接到的travis ci版本上的错误因其他原因失败,然后您在问题的顶部指定。在Travis中,抛出错误:

echo yes | android update sdk --filter sysimg-19 --no-ui --force > /dev/null
在过去10分钟内未收到任何输出,这可能表示生成已暂停或生成本身有问题

在您的案例中,这似乎意味着两件事之一:

安装SDK的这一部分需要10分钟以上的时间,而且由于将所有输出路由到null,Travis会因为没有输出而终止构建

安装SDK的该部分时崩溃并挂起

无论哪种方式,我都建议删除/dev/null的管道,这样Travis就可以看到输出,而不会终止构建,如果安装崩溃,您可以看到原因


这可能不会解决您的问题,但这是获得工作构建的开始。在此之后,请告诉我您仍有问题。

请注意,travis ci将在某个时候获得android官方支持。只是确认一下,但您的gradle文件在本地工作,对吗?@joshua anderson是的,先生!“你能发布一个链接到你的特拉维斯版本吗?”约书亚·安德森在问题中添加了这个链接。请参见编辑。。谢谢