Travis CI Android - 无法找到匹配的版本

时间:2014-09-03 12:59:03

标签: android google-play-services android-support-library travis-ci

Hy人,

我想在推送到Github之后用Travis测试我的Android应用程序。

不幸的是,我有一个问题,我几天都无法解决:

Could not resolve all dependencies for configuration ':app:_defaultFlavorDebugCompile'.

> Could not find any version that matches com.google.android.gms:play-services:5.+.
   Required by:
    weightlifting_app_schwedt:app:unspecified

> Could not find any version that matches com.android.support:support-v4:20.+.
   Required by:
    weightlifting_app_schwedt:app:unspecified

我的build.gradle包含

dependencies {
    compile 'com.google.android.gms:play-services:5.+'
    compile 'com.android.support:support-v4:20.+'
}

这是我的.travis.yml文件

language: java
jdk: oraclejdk7
before_install:
- 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; fi
- wget http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz
- tar -xzf android-sdk_r21.0.1-linux.tgz
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
- android list sdk --all
- chmod +x gradlew
- android update sdk --filter platform-tools,android-16,android-17,sysimg-17 --no-ui --force
- android update sdk --filter extra-android-support --no-ui --force > /dev/null
- android update sdk --filter extra-android-m2repository --no-ui --force > /dev/null
- android update sdk --filter extra-google-m2repository --no-ui --force > /dev/null
- android update sdk --no-ui --all --filter 1,2

正如您所看到的,我尝试包含其他相关的存储库,但它还无法正常工作......

也许你可以看到我的错误,因为我没有想法......

非常感谢你,祝你有愉快的一天!

祝你好运

2 个答案:

答案 0 :(得分:0)

更新回复:

VM映像已经包含固定的android-wait-for-emulator脚本和android SDK工具版本24.0.0以及默认情况下构建所需的组件。

Build Environment Updates - 2014-12-09

旧回复:

在其他组件之前运行更新工具= 1,以便获得最新版本并添加缺少的组件extra-google-google_play_services以及您在项目中配置的构建工具修订版。

language: java
jdk: oraclejdk7
before_install:
- 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; fi
- wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz
- tar -xzf android-sdk_r23.0.2-linux.tgz
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
- android list sdk --all
- chmod +x gradlew
- android update sdk --no-ui --all --filter 1,2
- android update sdk --filter platform-tools,android-16,android-17,sysimg-17 --no-ui --force
- android update sdk --filter extra-android-m2repository --no-ui --force > /dev/null
- android update sdk --filter extra-android-support --no-ui --force > /dev/null
- android update sdk --filter extra-google-m2repository --no-ui --force > /dev/null
- android update sdk --filter extra-google-google_play_services --no-ui --force > /dev/null

或自定义此示例

language: android

jdk:
  # Check Travis JDKs: http://docs.travis-ci.com/user/languages/java/#Testing-Against-Multiple-JDKs
  # If 'jdk:' section is not found, Travis-ci use one jdk by default. You can comment out 'jdk:' and
  # test against more than one JDK: 'jdk' is combined with 'env' to construct a build matrix.
  # - openjdk7
  - oraclejdk7

android:
  components:
    # Check your project requirements and the components included by default on Travis-ci VM images.
    # Check required: https://github.com/google/iosched/blob/master/doc/BUILDING.md
    # Check defaults: http://docs.travis-ci.com/user/languages/android/#Pre-installed-components

    # Check Android SDK tools: http://developer.android.com/tools/sdk/tools-notes.html
    # Check Android SDK Platform-tools: http://developer.android.com/tools/revisions/platforms.html
    # Comment the lines below if the latest revisions of Android SDK Tools are included by default.
    - tools
    - platform-tools

    # Check BuildTools: http://developer.android.com/tools/revisions/build-tools.html
    # Comment the lines below if the BuildTools required for building your project are included.
    # - build-tools-20.0.0
    # - build-tools-21.0.2
    - build-tools-21.1.1

    # Check APIs: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
    # Comment the lines below if the SDK versions used to compile your project are already included.
    # - android-20
    - android-21

    # Check extras: http://developer.android.com/sdk/installing/adding-packages.html#GetSupportLib
    # Comment the lines below if the latest Android extras are included or not required.
    - extra-android-m2repository
    - extra-android-support

    # Check more extras: http://developer.android.com/sdk/installing/adding-packages.html#GetGoogle
    # Comment the lines below if the latest Google extras are included or not required.
    - extra-google-m2repository
    - extra-google-google_play_services

    # Check possible addons, you can use the commandline: android list sdk --no-ui --all --extended
    # Comment the lines below if the latest Google apis addons are included or not required.
    # - addon-google_apis-google-21

    # Check get tools: http://developer.android.com/sdk/installing/adding-packages.html#GetTools
    # Comment the lines below if the latest images are included or you don't need to run emulator/s.
    # - sys-img-x86-android-21
    # - sys-img-x86_64-android-21
    # - sys-img-armeabi-v7a-addon-google_apis-google-21
    - sys-img-armeabi-v7a-android-21
    # - sys-img-armeabi-v7a-android-wear-20

  licenses:
    # Check licenses: http://docs.travis-ci.com/user/languages/android/#Dealing-with-Licenses
    # By default Travis will accept all the licenses, but it's also possible to define a white list:
    # White list current android-sdk-license revision.
    - 'android-sdk-license-5be876d5'
    # White list all android-sdk-license revisions.
    # - 'android-sdk-license-.+'
    # White list all the licenses.
    # - '.+'

答案 1 :(得分:0)

在旧版Travis上,您可能需要添加android update sdk ...

在当前版本中,您可以告诉Travis包含一些其他组件。具体来说,您需要添加:

android:
  components:
    - extra-google-m2repository // for play services
    - extra-android-m2repository // for support lib

您可以阅读更多here

奇怪的是,您无需添加extra-google-google_play_services。我根据com.google.android.gms:play-services-wallet

进行了测试