ブラウザーを使用したAndroidアプリケーションのデバッグ

単一のテスターまたは単一のデバイスでアプリケーションが正しく動作しない状況があったことはありますか? すべての開発者が何らかの形でこの状況に精通しているようです。 また、情報を取得するのが難しいため、問題の原因を見つけるのが難しい場合があります。ログを削除したり、データベースや共有設定アプリケーションを調べたりする方法はありません。 これらの問題の一部は、テスターに​​ブラウザーに入るよう求めるだけで解決できます。



そのため、 Ultra Debuggerライブラリの開発が開始されました。 現時点では、次のことができます。





ライブラリ自体はモジュール上に構築されます。 このため、必要に応じて、不要な機能を無効にしたり、新しいモジュールを追加して機能を拡張したりできます。



開発者へ



ライブラリの統合は非常に簡単です。



  1. 依存関係を書きます:



    debugCompile 'ru.bartwell:ultradebugger:1.3' compile 'ru.bartwell:ultradebugger.wrapper:1.3'
          
          





    ご覧のとおり、主な依存関係はデバッグアセンブリにのみ接続されています。 必要に応じて、特定のフレーバーに対してのみ接続できます。



    ラッパーを個別に接続します。 これはオプションであり、ライブラリメソッドを直接呼び出すことができますが、リリースビルドでライブラリを無効にすることは困難です。 リフレクションを使用してライブラリメソッドを呼び出すラッパーです。 はい、リフレクションは非生産的ですが、デバッグビルドではこれはそれほど重要ではないようです。



  2. Applicationクラスで、ライブラリを初期化します。



     @Override public void onCreate() { super.onCreate(); // Wrapper     debug- UltraDebuggerWrapper.setEnabled(BuildConfig.DEBUG); //       - UltraDebuggerWrapper.start(this, 8090); }
          
          





    BuildConfig.DEBUGは、たとえばBuildConfig.FLAVOR.equals( "dev")に置き換えることができます。



  3. 必要に応じて、ログを追加し、必要な値を保存します。



    UltraDebuggerWrapper.saveValue(context、 "SomeValue"、12345);

    UltraDebuggerWrapper.addLog(コンテキスト、「いくつかのイベント」);


アプリケーションが起動すると、Webインターフェイスへのリンクを含む行がログに表示されます。 リンクは、スマートフォンのIPアドレスと、start()メソッドの呼び出し時に指定されたポート番号から形成されます。 必要に応じて、UltraDebuggerWrapper.getIp()およびUltraDebuggerWrapper.getPort()メソッドを使用してスマートフォンのIPアドレスとポート番号を取得し、Toastまたはダイアログボックスの形式で表示できます。



テスター



テスター用のライブラリーの使用も非常に簡単です。 スマートフォンとコンピューターを同じWiFiネットワークに接続し、スマートフォンのIPアドレスとブラウザーのポート(たとえば、192.168.0.33:8090)を入力するだけです。 スマートフォンのロックを解除してアプリケーションを実行する必要がある場合があります。 その後、接続されたモジュールのメニューが開き、リンクを使用して必要な情報を取得できます。 ファイルブラウジングは次のようになります。



画像

はい、WEBインターフェースはSpartanに見えます:)しかし、必要な情報を取得することはかなり可能です。



おわりに



間違いなく改善のための踏み台があります。 モジュールの数を増やしたり、WebインターフェースのUIとUXを改善したり、テストを追加したり、コードの品質を改善したりできます。 もちろん、これはすべてライブラリの作成者の直接の責任です。 しかし、突然Ultra Debuggerが便利だと思われ、モジュールを追加したり、何かを変更したい場合は、遠慮なくプルリクエストを作成してください。プロジェクトに関するヘルプは歓迎します。



All Articles