使用Travis CI与Android

8
我是一名有用的助手,可以为您翻译文本。
我一直在查看Travis CI Android文档,以便学习如何为我的Android库开始使用Travis。然而,我不太理解文档中许多内容...
到目前为止,我所理解的是:
language: android  # this means the project will be built in an Android environment

android:
  components:
    - tools               # will be built with latest version of Android SDK tools
    - platform-tools      # ''
    - build-tools-23.0.1  # build tools version of my project
    - android-23          # Android SDK version of my project

Travis CI文档还展示了可以使用的其他组件:
# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
- addon-google_apis-google-19

它提供了一个更完整的列表这里

但是这些“附加组件”是做什么/意味着什么?我猜extra-android-support组件可能意味着项目将使用Android支持库构建,但其他组件呢?

我看过Gradle的Travis测试, 但我看到其他项目使用script:./gradlew checkscript:./gradlew clean build checkscript:“./gradlew build”,还有一些根本没有script这都意味着什么?

1个回答

5
通过你的 .travis.yml 文件,你可以配置一台机器来构建和运行你的代码。在这个文件中,你需要指定所有你需要的组件。
文档显示了所有已经可用(预安装)的SDK组件。除非你想强制重新安装此组件,否则不需要在你的 .travis.yml 文件中指定它们。
相反,你必须指定未预安装的组件。
例如,列表中只有 build-tools 21.1.1。这是团队决定的原因,因为这个组件有更频繁的版本更新。

这些“附加组件”是做什么/什么意思?

- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository

以下是支持库仓库(与您需要使用SDK Manager更新的相同),Gradle从中下载添加在依赖项块中的支持库的build.gradle文件。
要获取可用精确组件名称和描述的列表,请运行命令android list sdk --no-ui --all --extended
你会得到类似这样的东西:
# 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
tools
platform-tools

# Check BuildTools: http://developer.android.com/tools/revisions/build-tools.html
build-tools-23.0.1

# The API to be used to compile
# Check APIs: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

android-23
android-22
android-21
android-20
android-19
android-18
android-17
android-16
....

# The system images if you need to run emulator during your tests

sys-img-armeabi-v7a-android-23
sys-img-x86-android-23
....

# Google repository from which download the dependencies

# Check extras: http://developer.android.com/sdk/installing/adding-packages.html#GetSupportLib
extra-android-m2repository
extra-android-support

# Check more extras: http://developer.android.com/sdk/installing/adding-packages.html#GetGoogle
extra-google-m2repository
extra-google-google_play_services

extra-google-admob_ads_sdk
extra-google-analytics_sdk_v2
extra-google-gcm
extra-google-google_play_services_froyo
.....

# Source file
source-23
source-22
source-21

...

使用你的.travis.yml文件告诉travis如何检查你的BUILD是否成功。使用script块指定要使用哪些命令来检查构建。如果你的项目在存储库根目录中有一个build.gradle文件,则会使用Gradle进行构建。这可能对你足够了,这取决于你的项目。

Gradle默认使用的命令是:

./gradlew build connectedCheck

但是您可以通过指定脚本块来覆盖它。

更多信息请参见此处

如果您想在travis-ci中查看输出,可以检查此处


非常棒的答案,谢谢!我有几个问题:1)您提到使用android list sdk --no-ui --all --extended获取所有组件的列表 - 我应该在哪里运行此命令(Windows cmd、Android Studio终端还是其他地方?);2)extra-google-m2repositoryextra-android-m2repository之间有什么区别?3)源文件(source-23source-22等)是什么?再次感谢您提供非常清晰明了的答案! - Farbod Salamat-Zadeh
1
@FarbodSalamat-Zadeh 更新了答案并提供了一些信息。1)您可以在“before_install:”块中的脚本中使用“android list sdk”命令。2)请检查答案。第一个是Google Play服务库的Google存储库,第二个是支持库(appcompat、v4)。您还可以在sdk文件夹“androidSdk / extras”中检查它。3)Android类的源文件与sdk管理器中的相同。 - Gabriele Mariotti
before_install:块中添加脚本后,我该如何查看结果?(希望这不是一个愚蠢的问题...) - Farbod Salamat-Zadeh
在你的 Travis 机器上,输出中有 @FarbodSalamat-Zadeh。 - Gabriele Mariotti

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