Android项目上与Travis CI的Gradle依赖关系

Rue*_*zuo 10 continuous-integration dependencies android gradle travis-ci

我在使用Travis CI上的Gradle构建Android项目时遇到了麻烦.

我在build.gradle上声明了我的依赖项:

dependencies {
    compile 'com.android.support:appcompat-v7:18.0.0'
    compile 'com.android.support:support-v4:18.0.0'
    freeCompile files (
        'libs/GoogleAdMobAdsSdk-6.4.1.jar'
    )
}
Run Code Online (Sandbox Code Playgroud)

这是我的.travis.yml脚本:

script: 
  - TERM=dumb ./gradlew build
  - TERM=dumb ./gradlew connectedInstrumentTest
Run Code Online (Sandbox Code Playgroud)

我在特拉维斯得到这个:

A problem occurred configuring project ':FlavorTest'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':FlavorTest:_FreeDebugCompile'.
      > Could not find com.android.support:appcompat-v7:18.0.0.
        Required by:
            cloaked-octo-spice:FlavorTest:unspecified
      > Could not find com.android.support:support-v4:18.0.0.
        Required by:
            cloaked-octo-spice:FlavorTest:unspecified
Run Code Online (Sandbox Code Playgroud)

在我的本地项目上似乎一切正常.为了获得Travis的依赖,我还需要做些其他事情吗?

我在这里先向您的帮助表示感谢.

Rue*_*zuo 11

我得到了一些帮助解决了这个问题.似乎Gradle无法在本地存储库中找到Android Support依赖项,需要使用以下命令安装这些依赖项:

android update sdk --filter extra-android-support --no-ui --force > /dev/null
android update sdk --filter extra-android-m2repository --no-ui --force > /dev/null
Run Code Online (Sandbox Code Playgroud)

您可以在此公共存储库(https://github.com/Ruenzuo/cloaked-octo-cyril)上查看我的.travis.yml文件,希望这可以帮助其他人.


Bra*_*bin 10

一个简单的方法:

android:
  components:
    - extra-android-m2repository
Run Code Online (Sandbox Code Playgroud)

您必须记住接受许可.例如添加:

android:
  licenses:
    - android-sdk-license-.+
Run Code Online (Sandbox Code Playgroud)