簡體   English   中英

Android項目上與Travis CI的Gradle依賴關系

[英]Gradle dependencies with Travis CI on Android project

我在使用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'
    )
}

這是我的.travis.yml腳本:

script: 
  - TERM=dumb ./gradlew build
  - TERM=dumb ./gradlew connectedInstrumentTest

我在特拉維斯得到這個:

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

在我的本地項目上似乎一切正常。 為了獲得Travis的依賴,我還需要做些其他事情嗎?

我在這里先向您的幫助表示感謝。

我得到了一些幫助解決了這個問題。 似乎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

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

更簡單的方法

android:
  components:
    - extra-android-m2repository

您必須記住接受許可 例如添加:

android:
  licenses:
    - android-sdk-license-.+

上面的答案是正確的。 我只是覺得用travis.yml示例發布另一個解決方案是值得的。 您可以在Pestrada的github網站找到一個好的: https//github.com/pestrada/android-tdd-playground/blob/master/.travis.yml

相關的路線是:

  # Install required components.
  # For a full list, run `android list sdk -a --extended`
  # Note that sysimg-18 downloads the ARM, x86 and MIPS images (we should optimize this).
  # Other relevant API's

  - echo yes | android update sdk --filter platform-tools --no-ui --force > /dev/null
  - echo yes | android update sdk --filter android-18 --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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM