我的android项目是用ant构建的,我必须手动编辑ant.properties
文件以传递sdk.path
变量,指向Android SDK Directory。我将更改它以使SDK路径从环境变量获取,以使Travis CI上的构建成为可能。什么是Android SDK变量?
另外,我还可以使用Android NDK构建一些JNI代码,所以类似的问题 - Travis上的Android NDK的ENV变量是什么?
不要使用Travis的Android支持;它使用旧的" Android" CLI,而不是支持安装NDK的新的SDKManager CLI。做类似:
的事情before_install:
- cd $HOME
- wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O $HOME/android-sdk.tgz
- mkdir android
- unzip android-sdk.tgz -d android/sdk
- export PATH=$PATH:$HOME/android/sdk/tools:$HOME/android/sdk/tools/bin
- cd build/<your-build-directory>
然后在"安装"部分中:
install:
- echo y | sdkmanager 'ndk-bundle'
- echo y | sdkmanager 'cmake;3.6.3155560'
- export ANDROID_HOME=$HOME/android/sdk
- export ANDROID_NDK_HOME=$HOME/android/sdk/ndk-bundle
您可以使用SDKManager安装所需的其他内容。比另一个答案的好处是,这将获得最新版本的NDK。
最后,您可以设置环境变量android_home和android_ndk_home,然后将其传递给您的特定环境。
希望它有帮助。
travis似乎在beta中提供了Android支持。可以在/usr/local/android-sdk
中找到Android SDK。但是,似乎没有提供Android NDK,并且在/usr/local/android-ndk
中找不到。简单(Travis的昂贵行走)是在这样的构建时正确下载/提取/使用它:
before_script:
- export NDK_VERSION=r10e
- curl -L http://dl.google.com/android/ndk/android-ndk-${NDK_VERSION}-linux-x86_64.bin -O
- chmod u+x android-ndk-${NDK_VERSION}-linux-x86_64.bin
- ./android-ndk-${NDK_VERSION}-linux-x86_64.bin > /dev/null
- rm android-ndk-${NDK_VERSION}-linux-x86_64.bin
- export ANDROID_NDK_HOME=`pwd`/android-ndk-${NDK_VERSION}
- export PATH=${ANDROID_NDK_HOME}:${PATH}
如果您有更好的解决方案,请随时评论此解决方案。
您可以使用此命令以及Clive Lee的方法
导出Android变量env:
global:
- ANDROID_HOME=$HOME/android/sdk
- ANDROID_NDK_HOME=$HOME/android/sdk/ndk-bundle