EntryNavi : « Qt for Androidでアプリを配布する(apkを作る) | メイン | QML(Qt for Android)でのキーイベントについて »

CategoryNavi : メイン -> コンピューター -> 開発 -> Qt

Qt for Androidでのデバッグについて

ブレークポイントはってとかはできないので気休めですが。

/// ポイント ///
・あくまでAndroidの仕組みの上で動いてます。
 なのでデバッグとかapkのインストールはadbを使って行われます。
 なんとなく違った仕組みを使ってるんじゃないかと(勘違いしてしまってたのですが)、これが分かればAndroidアプリの開発経験のある人はこの記事いらないです。


/// デバッグログ関連 ///
「Application Output」ウインドウに出力されてくる内容は、「logcat」の内容です。
なので、コマンドラインで「adb logcat」とすると近い情報が取得できます。
(パスは設定しておいてください。)
配置場所バス : ~/necessitas/android-sdk/platform-tools

詳細は、公式リファレンスへ「Android Debug Bridge

プロジェクト作成するとnecessitasが自動で作成するjavaコードで「Log.d("app_name", "hogehoge");」とかしてデバッグ出力入れると同様に見れます。
necessitasの動作を見たい場合に有効です。

ログの内容についての残念情報
以下の用な感じで流れてきます。
  I/Qt ( 1318): qt start
  D/Qt ( 1318): startQtApp
/Qtのところの「Qt」がタグ情報と呼ばれている部分ですがこれは各プロジェクトに作成される「QtApplication.java」ファイルの以下のサンプルコードの部分を修正すると変更できます。
と、思ったのですが関係ありませんでした。
Activityの作成に失敗したときくらいしか変更した内容になりません。
  public class QtApplication extends Application
  {
   public final static String QtTAG="Qt";
   // ... 以下略



/// 実機デバッグ ///
Qt Creatorでプロジェクトを「実行」したときにadbが認識しているデバイスが0個のときはエミュレータを自動で起動してパッケージのインストールから実行をするようです。
ですので、あらかじめ実機を認識した状態にしておけば「実行」時にエミュレータが起動しないで実機への転送が始まります。
「Run Settings」の中の「Run configuration」の項目に「Run on Android device1~3」がありますが2つのデバイスを認識させた状態でも必ずエミュレータに転送が行われます。

参考
・現状Ubuntuで触ってるのですがデバイスの認識がおかしくて名称が「?????」になってしまう現象が派生してましたのでY.A.M の 雑記帳「Android Ubuntu で adb devices ???? を直す」を見て解決できました。
・エミュレータデバイスはQt Creatorの「Tools->Options->Android」で管理できます。
 「Add」ボタンで追加可能です。
 dpiなど詳細を設定したい場合は「Start Android AVD Manager」をクリックすると行えます。
・DDMSもつかえるのでこちらを使ってもいいかもしれません。



/// その他 ///
・アプリが起動するといきなりエラーで落ちる現象
 たくさんのQtコンポーネントを使用する場合に発生するように感じています。
 つまりメモリの残量がすくない環境では実行できない可能性があります。
 またエミュレータも同様でアプリを起動できなくなりました。
よくわかってないのですが。。。
 使ってると今まで起動できたものもダメになる場合もあって、その場合はMinistroを入れ直すと治る感じです。(今のところ)



<Category : Qt>

検索

Google

サイドフィード

track feed 理ろぐ
人気ブログランキング - 理ろぐ
Powered by
Movable Type 3.34