1

依存するCコードを含むAndroid libプロジェクトがあります。コンパイルするには、タスクを実行する必要がありcompileNdk...ます。

NDK をローカルでセットアップするのは非常に簡単です。ただし、circleci で動作させるのはそれほど簡単ではありません。circleci のドキュメントには、android SDK を適切にインストールする方法に関する十分な情報がありますが、circleci に NDK を適切にインストールする方法については何もありません。

Android NDK を circleci にインストールして、継続的インテグレーションのセットアップで正常にビルド/コンパイルできるようにする最善の方法は何ですか?

4

3 に答える 3

4

CircleCI は実際に NDK をインストールします。$ANDROID_NDK 環境変数を使用して参照できます。

これについては、依存関係セクションの最後で説明しています https://circleci.com/docs/android

于 2015-05-19T16:53:13.773 に答える
1

この記事の執筆時点では、CircleCI はまだ 14.04 環境に NDK をバンドルしていません。

ただし、手動で追加してキャッシュすることはできます

dependencies:
  cache_directories:
    - ~/android-ndk-r11c
  pre:
    - if [[ ! -e ~/android-ndk-r11c ]]; then wget http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip && unzip -d ~ android-ndk-r11c-linux-x86_64.zip; fi

環境変数を手動で追加します。

machine:
  environment:
    ANDROID_NDK: $HOME/android-ndk-r11c
    ANDROID_NDK_HOME: $ANDROID_NDK
    PATH: $PATH:$ANDROID_NDK
于 2016-06-15T12:28:53.753 に答える
-1

更新: circleci が NDK をインストールするようになりました。

これまでに見つけた最善の解決策は、wget を介して NDK をインストールし、bin ファイルを実行することです。また、ANDROID_NDK_HOME の環境変数を設定する必要があります。

これは、circleci で実行に成功したサンプルです。

circle.yml マシン: 環境: ANDROID_HOME: /home/ubuntu/android ANDROID_NDK_HOME: /home/ubuntu/android/android-ndk

依存関係: cache_directories: - ~/.android - ~/android override: - ./install-dependencies.sh

install-dependencies.sh もしも [ !-e $DEPS ]; 次に ... && wget http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin -O $ANDROID_HOME/android-install-ndk.bin && chmod a+x $ANDROID_HOME /android-install-ndk.bin && cd $ANDROID_HOME && $ANDROID_HOME/android-install-ndk.bin && mv $ANDROID_HOME/android-ndk* $ANDROID_HOME/android-ndk touch $DEPS fi

于 2015-01-21T17:37:50.033 に答える