【发布时间】:2023-04-04 20:16:01
【问题描述】:
我已经搜索了很多地方,甚至在 Travis CI 文档页面中,但我找不到我的问题的解决方案。问题是 - 我已经在 Travis CI 上设置了一个运行良好的 Android 项目。现在,我有一些要求,我需要为我的项目编译一些本机文件。在我的本地机器上,设置完美运行,因为我已经安装了 SDK 和 NDK。当我推送代码时,Travis 抱怨 NDK。因此,我寻找如何为 Travis 设置 NDK。我点击了以下链接---
https://github.com/googlesamples/android-ndk/blob/master/.travis.yml
Travis: how to know android sdk/ndk path?
https://github.com/travis-ci/travis-ci/issues/5395
但以上都没有奏效。我的travis.yml 文件在下面--
# which language/platform is used
language: android
# JDK version
jdk:
- oraclejdk8
# root permission required?
sudo: required
dist: precise
# Environment variables
env:
global:
- BRANCH_NAME=$TRAVIS_BRANCH
# android components required to build code
android:
components:
- tools
- platform-tools
- build-tools-25.0.3
- android-24
- extra-android-m2repository
- extra-google-m2repository
- extra-google-google_play_services
# clean up old stuff before we get started
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
# cache directories to use
cache:
directories:
- "$HOME/.gradle/caches/"
- "$HOME/.gradle/wrapper/"
# Configurations to set up Android NDK
before_install:
- rm -fr $HOME/android-ndk-r16b
- curl -L http://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip -O
- unzip -oq android-ndk-r16b-linux-x86_64.zip
- rm android-ndk-r16b-linux-x86_64.zip
- export ANDROID_NDK_HOME=$HOME/android-ndk-r16b
- export PATH=$PATH:${ANDROID_NDK_HOME}
# Build script - which configs and creates the builds
script: "./my_script.sh"
通过此设置,Travis CI 可以识别 NDK,但在运行我的构建脚本时却找不到它。下面是我的 Travis 构建的日志 --
android.install
Installing Android dependencies
creating directory /home/travis/.gradle/caches
adding /home/travis/.gradle/wrapper to cache
creating directory /home/travis/.gradle/wrapper
$ java -Xmx32m -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
$ javac -J-Xmx32m -version
javac 1.8.0_111
before_install.1
$ rm -fr $HOME/android-ndk-r16b
before_install.2
$ curl -L http://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip -O
before_install.3
$ unzip -oq android-ndk-r16b-linux-x86_64.zip
before_install.4
$ rm android-ndk-r16b-linux-x86_64.zip
before_install.5
$ export ANDROID_NDK_HOME=$HOME/android-ndk-r16b
before_install.6
$ export PATH=$PATH:${ANDROID_NDK_HOME}
$ ./build_cc_app.sh
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/3.3/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
Parallel execution with configuration on demand is an incubating feature.
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /home/travis/android-ndk-r16b.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
NDK is missing a "platforms" directory.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':client'.
> NDK not configured. /home/travis/android-ndk-r16b
Download it with SDK manager.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 29.479 secs
【问题讨论】:
标签: android android-ndk travis-ci