Qt は Android NDK の新バージョンに対応しています

本記事は「Qt is now staying up-to-date with new Android NDK versions」の抄訳です。

この投稿では、新しい Android NDK のバージョンに対応する方法と、Qt Creator での LLDB サポートについて説明します。今しばらくの間、我々は新しい Android NDK バージョンのサポートを改善し、Qt Creator のデバッガーサポートが最近の NDK バージョンで動作することを確認しています。

Qt 6 ビルド用の NDK バージョンを常に最新に保つこと


最近のNDKのバージョンがQtのビルドや、Qtアプリケーションのビルドで問題なく動作することを確認するためのターンアラウンドタイムが大幅に改善されました。これは、現在弊社のプロセスに含まれているいくつかの工程によって行われます。

  1. GoogleのNDKリリーススケジュールを把握し、今後のNDKバージョンとそのリリースを計画します。
  2. Android NDKのベータ版をビルドテストし、コンパイルのバグを早期に修正します。
  3. ビルドの修正が終わると、新しいNDKのバージョンでビルドが動作し続けるように、継続的インテグレーションシステムに新しいNDKのバージョンをロールアウトします。

私たちはしばらく前から本プロセスを続けていますが、1年に複数のNDKバージョンを追跡できるようにプロセスが整備された一方で、Googleは現在NDKのリリースサイクルを遅くし、年に1度だけ新しいものを出しているようです。それでも、トラッキング処理は同じように実行しています。

もしQt 6やそのアプリケーションがピカピカの新しいNDKでビルドされない場合は、バグですのでご報告ください。

Qt 5 も忘れてはいません

QTBUG-108662 が修正されたので、新しい NDK で LLVM ベースのツールチェインを使用して Qt 5 とそのアプリケーションをビルドすることをサポートします。このバグはranlibへの依存が残っていることに関するもので、修正によりqmakeのビルドはLLVMツールチェーン上で正しくllvm-arを使用するようになりました。

Qt 6と同様に、Qt 5やそのアプリケーションが新しいNDKでビルドできない場合、それもバグですのでご報告ください。

LLDBを用いたデバッグ

Qt Creator の最近のバージョンでは、GDB が出荷されなくなった新しい NDK バージョンを選択すると LLDB が自動検出され、これを搭載したデバイスでデバッグすると、そのまま動作するようになりました。

Android 12のテスト

最後に、Android 12 を CI に追加するための最後の仕上げをしています。他のすべての設定と一緒に、すべてのコミットでビルドとテスト結果をチェックしています。そのために必要なテストケースのチューニングがありましたが、現在は最終段階に入っており、まもなくマージする準備が整います。


Blog Topics:

Comments