使用travis进行android构建
我在travis上构建android项目时遇到了下面提到的错误 无法确定任务“:projectname:packageDebug”的依赖项 我的travis.yml如下所示:-使用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
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是的,先生!“你能发布一个链接到你的特拉维斯版本吗?”约书亚·安德森在问题中添加了这个链接。请参见编辑。。谢谢