android - TravisCI 中的 NDK、CMake 和 Android

标签 android cmake android-ndk travis-ci

我正在尝试为使用某些 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

最佳答案

这目前对我有用:

install:
  - echo y | sdkmanager 'ndk-bundle'
  - echo y | sdkmanager 'cmake;3.6.4111459'
  - echo y | sdkmanager 'lldb;3.0'

我的 .travis.yml 可用 here .

关于android - TravisCI 中的 NDK、CMake 和 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782349/

相关文章:

iphone - 如何设置 CMake 为 iPhone 构建库

android - 无法定位符号

android - 动态设置搜索提示

android - 小部件中的 OnClick PendingIntent 有时不起作用

c++ - 使用CMake + Ninja使用GIT下载依赖

c++ - 为 yaml-cpp 库查找正确的 cmake 配置

android - Facebook Buck : BUILD FAILED: No native platforms detected. 可能是 Android NDK 配置不正确

Android NDK套接字创建空指针

android - 如何在菜单组之间添加分隔符/分隔符?

android - 如何检测拨出电话何时被接受