特拉维斯:如何知道android sdk/ndk路径?
我的android项目是用Ant构建的,我必须手动编辑Ant.properties文件以传递指向android sdk目录的sdk.path变量。我将修改它,从环境变量中获取sdk路径,以便在Travis CI上进行构建。android sdk变量是什么 我还有一些jni代码要用android ndk构建,所以类似的问题是——Travis上android ndk的env变量是什么?Travis似乎在beta版中提供了。Android SDK可以在/usr/local/Android SDK中找到。但是,似乎没有提供Android NDK,并且在/usr/local/Android NDK中找不到。Travis的简单而昂贵的解决方案是,在这样构建时下载/提取/正确使用它:特拉维斯:如何知道android sdk/ndk路径?,android,ant,travis-ci,Android,Ant,Travis Ci,我的android项目是用Ant构建的,我必须手动编辑Ant.properties文件以传递指向android sdk目录的sdk.path变量。我将修改它,从环境变量中获取sdk路径,以便在Travis CI上进行构建。android sdk变量是什么 我还有一些jni代码要用android ndk构建,所以类似的问题是——Travis上android ndk的env变量是什么?Travis似乎在beta版中提供了。Android SDK可以在/usr/local/Android SDK中找到
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}
如果您有更好的解决方案,请随时发表意见。Travis似乎提供了beta版。Android SDK可以在/usr/local/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}
如果您有更好的解决方案,请随意评论此解决方案。不要使用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>
您可以使用sdkmanager安装所需的任何其他内容。与另一个答案相比的好处是,这将获得NDK的最新版本
最后,您可以设置环境变量ANDROID_HOME和ANDROID_NDK_HOME,并将其传递给您的特定环境
希望有帮助。不要使用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>
您可以使用sdkmanager安装所需的任何其他内容。与另一个答案相比的好处是,这将获得NDK的最新版本
最后,您可以设置环境变量ANDROID_HOME和ANDROID_NDK_HOME,并将其传递给您的特定环境
希望有帮助。您可以使用此命令以及Clive Lee的方法导出Android变量
env:
global:
- ANDROID_HOME=$HOME/android/sdk
- ANDROID_NDK_HOME=$HOME/android/sdk/ndk-bundle
您可以使用此命令以及Clive Lee的方法导出Android变量
env:
global:
- ANDROID_HOME=$HOME/android/sdk
- ANDROID_NDK_HOME=$HOME/android/sdk/ndk-bundle
travis update alert:sdkmanager自带android环境,因此您不需要上面的“wget”行。直接使用sdkmanager就行了。它不起作用,我在执行模型规则时遇到了>抛出的异常:NdkComponentModelPlugin.RulescheckNdkDirNdkHandler,NdkConfig>未找到NDK位置。使用local.properties文件中的ndk.dir或ANDROID_ndk_HOME环境变量定义位置。travis更新警报:sdkmanager自带ANDROID环境,因此您不需要上面的“wget”行。直接使用sdkmanager就行了。它不起作用,我在执行模型规则时遇到了>抛出的异常:NdkComponentModelPlugin.RulescheckNdkDirNdkHandler,NdkConfig>未找到NDK位置。使用local.properties文件中的ndk.dir或ANDROID\u ndk\u HOME环境变量定义位置。