Travis CI Android - 找不到匹配的版本

4

大家好,

我想在推送至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

更新的回复:

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

构建环境更新-2014年12月9日

旧的回复:

在安装其他组件之前运行update tools = 1,这样您就可以获得最新的修订版本,并添加缺失的组件extra-google-google_play_services和您在项目中配置的build-tools版本。

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.
    # - '.+'

0

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

在当前版本中,您只需告诉Travis包含一些额外的组件即可。具体来说,您需要添加:

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

您可以在这里阅读更多内容。

奇怪的是,您不需要添加extra-google-google_play_services。我刚刚在依赖于com.google.android.gms:play-services-wallet时进行了测试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接