Help us understand the problem. What is going on with this article?

QtでAndroidアプリを作ろう for Qt5.14(環境構築編)

初めに

カレンダーに穴が空いてましたので、(カレンダー的に)連日投稿ですが、投稿させていただきます。
拙著「QtでAndroidアプリを作ろう」では、Qt5.13を対象に、Android NDK r19との組み合わせで、Qt/Androidアプリを作る環境について説明しました。
Qt5.13では、NDK r20との組み合わせが動作せず苦労しましたが、Qt5.14で正式にNDK r20がサポートされ、むしろ https://wiki.qt.io/New_Features_in_Qt_5.14 に「Android needs NDKr20+」との記述があることから、Qt5.14以降はNDK r20以上にする必要があるようです。
そこで、改めてQtとAndroid Studioの組み合わせで、ビルド環境を構築してみたいと思います。
拙著ではmacOSの画面で説明していましたので、今回はWindows10で説明してみたいと思います。

インストール対象

インストール対象は下記の2つです。

  • Android Studio
  • Qt

JDKも必要ですが、Android Studioに含まれているものを使用する為、別途JDKをインストールする必要はありません。仮に、別のJDKがインストールされていても後述するJDKのパス設定にはAndroid Studioに含まれているJDKを指定したほうがよいです。

Android Studioのインストール

https://developer.android.com/studio/?hl=ja
のページにブラウザでアクセスし、「DOWNLOAD ANDROID STUDIO」をクリックします。
Android_install1.png

利用規約が表示されますので、「上記の利用規約を読んだうえで利用規約に同意します。」にチェックを付け、「ダウンロードする: ANDROID STUDIO ( WINDOWS用 )」をクリックします。すると、インストーラがダウンロードできますので、ダウンロードして実行します。
インストーラの画面では、基本的は、単純にNext > Next > Next > Install > Next > Finsishとクリックするだけです。

Android Studio起動後の設定(Android SDK/NDKの設定)

Androidのインストールが完了したら、WindowsのメニューからAndroid Studioを起動します。
Configure > SDK Manager を選択します。

「SDK Platforms」タブ

Android_setting1.png

Qt5.14では、API Level26~29をサポートしている為、これらのAPI Levelにチェックを付けます。

「SDK Tool」タブ

次に、「SDK Tool」に移動します。
Android_setting2.png
ここでは、NDKにチェックを付けます。インストール状況によってNKD(Side by Side)のように表示されることもあります。
スクリーンショットでは、一応NDKに関連しそうなLLDBとCMakeにもチェックを入れてありますが、なくても動くはすです。
ただ、Android Studio側だけでC++のコードをデバッグしたい時など、あると便利なのでチェックを入れています。

あとは、OKボタンを押下し、必要なモジュールをダウンロードします。(ここで時間が結構掛かるかもしれません)

Qtのインストール

Qtのダウンロードページで、Downloadをクリックして、インストーラをダウンロードします。
インストール手順については、このページを見ている方は特に必要ないかと思いますが、最初のステップだけ。
インストーラ起動後、Qtのアカウント等を持っていなければ、Next > Skip であとは手なりで進めてOKです。
以降については、MaintenanceToolを起動した時と同じである為、次の項目に移ります。

MaintenanceTool

MaintenanceToolは、インストール時に何も変更しなければ、「C:\Qt」にインストールされているかと思います。
「C:\Qt」直下にMaintenanceTool.exeをダブルクリックするとMaintenanceToolが起動されます。(インストーラの続きでもあります)
Qtインストール直後であれば、「Add or remove components」を選択し、次へをクリックします。

「Show package categories」欄で、「Latest release」にチェックをつけて、Refreshボタンをクリックすると、Qt 5.14.0が表示されます。
Qt_MaintenanceTool1.png
Qt5.14.0配下の「Android」にチェックを付け、次へボタンをクリックして更新します。

Qt Creator起動後の設定

Qt Creatorを起動し、ツール > オプションを選択します。
設定する箇所は下記の3つです。

  • JDKパス
  • Android SDKパス
  • Android NDKパス

JDKは(デフォルトのままであれば)「C:\Program Files\Android\Android Studio\jre」を指定します。
Qt Creatorが認識すれば「Java Settings are OK.」と表示されます。

Android SDKパスは、「C:\Users[[ユーザ名]]\AppData\Local\Android\Sdk」を指定します。
Android NDKパスは、「C:\Users[[ユーザ名]]\AppData\Local\Android\Sdk\ndk\20.1.5948944」を指定します。
末端の細かいリビジョンについては、インストール状況によって変わってくると思われます。
Android SDKとNDKをQt Creatorが認識すれば、「Android setttings are OK.」と表示されます。
もし、表示されない場合は、NDKのバージョン(リビジョン)を下げることを検討してください。
https://developer.android.com/ndk/downloads/older_releases.html?authuser=3&hl=ja に、NDKのアーカイブがあります。

Qt_Android_setting.png

以上で設定は終了です。
拙著では、パスを通すなど、環境変数の設定についても言及しましたが、まっさらなWindows10 PCで本稿の手順でインストールしたところ、環境変数は特に設定せずに動作しましたので、少なくとも現時点の環境では、特に必要ないかと思います。

設定完了後の「Kits」の状態

蛇足ですが、設定完了後のQt Creatorの設定画面にある「Kits」状態のスクリーンショットを載せておきます。
kits1.png
kits2.png
kits3.png

ぜひQtでAndroidアプリを作ってみてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away