Travis:如何知道Android SDK/NDK路径



我的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

相关内容

  • 没有找到相关文章

最新更新