LoginSignup
1
1

More than 3 years have passed since last update.

Github ActionsのAndroid CIでNDKを切り替える

Last updated at Posted at 2020-03-14

概要

Github ActionsのAndroid CIを実行させた場合、Github Actionsで用意されているHost Runnerをそのままを使うと、virtual-environments/Ubuntu1804-README.md に記載されたバージョンのNDKが適用される。
例えば、2020年3月14日時点ではAndroid NDK 21.0.6113669となる。

ただ、場合によっては別のバージョンのNDKを利用したいケースもある。

NDKの切り替えに対応したandroid.yml

CircleCI Orb Registry - circleci/android を参考に、NDKを指定できるようにandroid.ymlを記述する。

なお、NDK_SHANDK_VERSIONは、こちらを参考に設定すればよい。

name: Android CI

on:
  pull_request:
    types: [opened]
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: set up JDK 1.8
      uses: actions/setup-java@v1
      with:
        java-version: 1.8
    - name : install ndk
      run: | 
        sudo curl --silent --show-error --location --fail --retry 3 \
          --output /tmp/$NDK_VERSION.zip \
          https://dl.google.com/android/repository/$NDK_VERSION-linux-x86_64.zip

        sudo echo "$NDK_SHA /tmp/$NDK_VERSION.zip" > /tmp/$NDK_VERSION.zip.sha1

        sha1sum -c /tmp/$NDK_VERSION.zip.sha1

        sudo rm -rf $ANDROID_SDK_ROOT/ndk-bundle
        sudo unzip -q /tmp/$NDK_VERSION.zip -d $ANDROID_SDK_ROOT
        sudo mv $ANDROID_SDK_ROOT/$NDK_VERSION $ANDROID_SDK_ROOT/ndk-bundle
        sudo chown -R root:root $ANDROID_SDK_ROOT/ndk-bundle
        sudo rm -f /tmp/$NDK_VERSION*

        if [[ -d $ANDROID_SDK_ROOT/ndk-bundle && \
          -n "$(ls -A $ANDROID_SDK_ROOT/ndk-bundle)" ]]; then
          echo "Android NDK installed"
        else
          echo "Android NDK did not install successfully"
          exit 1
        fi
      env:
        NDK_SHA: fd94d0be6017c6acbd193eb95e09cf4b6f61b834
        NDK_VERSION: android-ndk-r19c
    - name: Build with Gradle
      run: ./gradlew build

Gist

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1