投稿

4月, 2019の投稿を表示しています

Qtで作るAndroidアプリケーション

AndroidでQtアプリケーションを実行するまで でアプリケーションの実行ができるようになったので、実際にアプリケーションを作る際のポイントを記す 必要ないこともあるかと思うが、今現在動いているものである プロジェクトの作成  前ので書いたとおりプロジェクトの作成時に対象端末用のAndroidキットを指定する デザイナでの配置  Android上でデザインが変わることもあるが、ウィジェットは同じ様に配置できる  ただしレイアウト上に置かないと配置が崩れるので注意 AndroidManifest.xmlの配置  一旦実行した後にプロジェクトフォルダ内の android-build フォルダを開き AndroidManifest.xml をコピーしてくる プロジェクトフォルダに android-sources フォルダを作成しコピーした上記ファイルを貼り付ける Qtに戻りサイドバーのプロジェクトから「既存のファイルを追加」を選択し android-sources フォルダ内の AndroidManifest.xml を指定する アイコンの設定  上記で追加したAndroidManifest.xmlをダブルクリックでAndroid Manifestエディタで開かれる  「アプリケーションアイコン」で大中小のアイコンを設定できる Javaクラスを読み込む  Qtのコードのみで出来る部分もあるが、Androidの設定に関わることなど出来ないことも多い  そのためQtからJavaのコードを実行する仕組みが用意されている  AndroidManifest.xmlをダブルクリックでAndroid Manifestエディタを開きパッケージ名を確認  以下を参考にフォルダを作成 パッケージ名  org.qtproject.example.TestApp 作成するフォルダ  プロジェクトフォルダ/android-sources/src/org/qtproject/example/TestApp このフォルダ内に.javaファイルを作成 内容はアプリケーションによるが一応枠組みのサンプルを記載 サンプル プロジェクトの.proファイル内のQTに androidextras を追加 JavaClass.java

AndroidでQtアプリケーションを実行するまで

イメージ
QtはAndroidアプリの作成に対応しており、PC用のアプリケーションと同じように作ることが出来る やりたいことによってはJavaのコードを書く必要もあるが 基本的なことは出来るので、普段Qtを使っている人にはいいだろう でもJavaが使えるのであればJavaで書いたほうがよっぽど楽で良い JDKのインストール  既にインストールされているかもしれないが、今現在入ってるものは   jdk8-openjdk  8   jre8-openjdk  8 Android Studioのインストール  これの設定画面にある  「Android SDK」->「SDK Platform」で 対象バージョンのSDKを入れる  別タブの「SDK Tools」で   Android SDK Build-Tools   Android SDK Platform-Tools   Android SDK Tools   NDK  の4つを入れる Qtのインストール  ManjaroにもQtとQtCreatorのパッケージは存在するが、それでは動かない  Android用のファイルが入っていないためにキットが検出されないのだ  そこで、 Qt公式 からインストーラのqt-opensource-linux-x64-5.12.2.runをダウンロードする  使用したのは上記のオフラインインストーラだが、 ここから オンラインインストーラをダウンロードしても問題ないかと思う ※5.12を入れたところ表面上は問題なかったが、実行時にQPushButtonの長押しなどで QMetaObject::invokeMethod: No such method QPushButton::inputMethodQuery(Qt::InputMethodQuery,QVariant) と出てしまい長押し処理が中断されてしまう現象が発生した 5.9では問題ないので、この問題が発生する場合は 最下の AndroidでQtアプリケーションを実行する方法Old を参照すること  ダウンロードが完了したらファイルに実行属性を付けて実行  インストールでは対象となるAndroid端末のアーキテクチャに合わせたQtを入れる必要がある