【发布时间】:2017-12-12 22:09:27
【问题描述】:
我正在尝试为使用一些 C++ 代码的 Android 项目设置我的 CI。因此,我需要未预装在 Travis Android 图像上的 NDK。我目前通过自己拉 NDK 来实现这一点,但是我的 CI 框抱怨 CMake 许可证不被接受。奇怪的是,我认为这包含在我已经包含在我的构建中的 android-sdk-license 中。我的 travis YAML 看起来像这样:
language: android
jdk:
- oraclejdk8
- oraclejdk9
android:
components:
- tools
- platform-tools
- tools
- build-tools-26.0.2
- android-26
- extra-android-m2repository
- extra-google-m2repository
- extra-android-support
- extra-google-google_play_services
- add-on
- extra
licenses:
- 'android-sdk-preview-license-.+'
- 'android-sdk-license-.+'
before_script:
- wget https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip
- unzip -qq android-ndk-r16b-linux-x86_64.zip
- export ANDROID_NDK_HOME=`pwd`/android-ndk-r16b
- export LOCAL_ANDROID_NDK_HOME="$ANDROID_NDK_HOME"
- export LOCAL_ANDROID_NDK_HOST_PLATFORM="linux-x86_64"
- export PATH=$PATH:${ANDROID_NDK_HOME}
- env
script: ./gradlew build jacocoTestReport
matrix:
fast_finish: true
allow_failures:
- jdk: oraclejdk9
notifications:
email: false
after_success:
— bash <(curl -s https://codecov.io/bash)
在构建here底部可以看到许可错误
【问题讨论】:
-
可能值得提交一个针对 Android Studio 的错误。他们正在努力减少 Android 构建工具对 CI 的痛苦,因此这应该引起一些关注。
-
这和Android Studio有什么关系?这不是 IDE 问题。
-
Android Studio 团队拥有 SDK 管理器和随附的 CMake。
标签: android cmake android-ndk travis-ci