プログラミングGeekなブログ。

日々プログラミングしていて気づいたことのメモ。たまに音楽など。

Android NDK 開発環境の構築

今日はAndroidアプリの開発環境を構築します。

言語の価値≒開発環境と言われることもあるので、しっかりと選んでいきます。

NDKを使う開発環境構築

自分の作成したいアプリはAndroidアプリで、開発環境の要件としては
- C++ & NDKを使用可能
- Windowsでも使用可能
- Vimのキー操作が可能

といったところです。
以前にEclipse+NDKで開発したことがあったのですが、今はAndroid Studioというい選択肢もあるようで。 新しいものを使ってみるのもいいことだと思うので、今回はAndroid Studioを採用することにします。

Android Studioのインストール

  1. こちらから Windowsようのインストーラをダウンロード。
    現時点でのAndroid Studioのバージョンは1.4です。

  2. ここからはガイド に従ってインストールを進めます。
    まずはインストーラを実行。すべてデフォルトのままインストール。
    JDK7が必要とのことですが、自分のPCには既にインストール済みだったのでここはスキップ。

  3. インストールを完了し、Android Studioを起動。初回起動だからなのか、起動に数分間かかりました。
    起動するとSetup Wizardが表示されます。 f:id:cindy-bass:20151029144324j:plain

  4. 次にAndroid SDKをインストールします。Android SDK Managerをクリックします。 f:id:cindy-bass:20151029143729j:plain

  5. ガイドの 説明に合わせやすくするために、SDK Managerを起動します。 f:id:cindy-bass:20151029143808j:plain

  6. 以下をインストールします。

初めてSDK Managerを起動すると、必要なものは選択状態になっているようです。
私はそのままAndroid6.0のものをインストールすることにしました。

f:id:cindy-bass:20151029145336j:plain

Hello Worldアプリ作成

とりあえずは、Hello Worldアプリというか、ウィザードがデフォルトで作成するアプリの ビルドを試してみます。
Setup WizardでStart a new Android Studio projectを選択し、 デフォルト設定のまま進めます。

  1. Start a new Android Studio projectを選択 f:id:cindy-bass:20151029143939j:plain

  2. デフォルトのままNext f:id:cindy-bass:20151029143952j:plain

  3. これもデフォルトのままNext f:id:cindy-bass:20151029144007j:plain

  4. Blank Activityを選択してNext f:id:cindy-bass:20151029144018j:plain

  5. デフォルトのまま、Finish f:id:cindy-bass:20151029144033j:plain

  6. ウィザードを完了すると下のような画面が現れます。 f:id:cindy-bass:20151029144043j:plain

  7. 何も編集せずに、とりあえずアプリケーションをビルド&実行します。
    Android SDKのインストールでAndroid6.0をインストールしているので、 Android virtual deviceにはNexus 5 API 23 x86を選択しました。

f:id:cindy-bass:20151029144055j:plain

f:id:cindy-bass:20151029144104j:plain

これで、アプリが起動するかと思いきや、エミュレーターの速度が異常に遅い!!
それも実用不可能なレベルで!
で、色々ネットで調べると、高速化の手段があるようで。

Android エミュレーターの高速化

エミュレーターの高速化には、Intel x86 Emulator Acceleratorを使用します。

  1. SDK Managerにて、Extra > Intel x86 Emulator Accelerator(HAXM installer)を選択し、 インストールを実行します。 f:id:cindy-bass:20151029144117j:plain

  2. 1ではインストーラーがダウンロードされるだけなので、インストーラーを実行します。
    なお、インストーラーは
    C:\Users\ユーザー名\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe にダウンロードされています。(1のヒントにダウンロードしたフォルダ名の記載あり)

  3. あとは、エミュレーターの作成です。私の場合、最初からインストールされているNexus 5のCPUがx86ということもあり、 これを複製して、設定を変更することにしました。
    AVD Managerを起動します。
    f:id:cindy-bass:20151029144129j:plain

  4. Nexus 5を右クリックしてDuplicateを選択します。
    f:id:cindy-bass:20151029144139j:plain

  5. エミュレーターの設定画面が現れます。 Show Advanced Settingsをクリックして詳細設定を行います。 今回変更するのは次の2点です:

    • Use Host GPUをオン
    • RAMを512MB以下に設定

f:id:cindy-bass:20151029144153j:plain

  1. もう一度、アプリを実行してみます。 高速化がうまく働いているようなら、コンソールに次のようなメッセージが表示されます。
    HAXM is working and emulator runs in fast virt mode

まとめ

これでアプリをビルドをできるようになりました。 エミュレーターは高速化してますけど、それでも少し遅さを感じてしまいます。
業務でアプリを開発されている方は、どうされているのかと思ってしまいます。