2

アプリ AIDE を使用して、Eclipse や外部マシンを使用せずに、自分のデバイスで直接開発しています。

1 つは Galaxy Nexus、もう 1 つは Nexus 7 の 2 つのデバイスで競合する logcat 出力を取得しています。どちらも Jellybean 上にあり、どちらも同じバージョンの IDE アプリを実行しており、どちらも私が書いている同じソース コードを使用しています。

私の電話では、アプリからのすべてのログ コマンドが表示されますが、タブレットではそれらのいずれも表示されません。

また、IDE アプリに付属するテスト用の Hello World アプリを作成し、それにログを追加してみました。繰り返しますが、電話は機能しますが、タブレットは機能しません。

開発者の下でデバイスの設定を確認しましたが、USBデバッグを含めて両方とも同じです。

最後に、アプリ自体で、マニフェストに android:debuggable="true" がある場合とない場合の両方を試しました。常にスマートフォンで動作しますが、タブレットでは動作しません。

アップデート

Android のログだけでなく、Jellybean のログを検索すると、Android/Google がサードパーティ アプリのログの表示をオフにしているように見えます。システム ログまたは使用しているアプリのログのみを表示できるようになりました。つまり、あるアプリを使用して別のアプリのログを表示することはできません。

前述のように、両方のデバイスがジェリービーンを使用しており、一方はすべてのログを表示でき、もう一方は表示できないため、まだ少し混乱しています。ただし....カーネルは異なります。タブレットは 3.1、電話は 3.0.31 です。

ログの変更は、これらのバージョンの間で発生したに違いないと思います。

そのため、ログを表示するにはルート化するか、ラップトップを手元に持っているときにのみデバッグする必要があると考えていますが、これはあまりありません。

データを消去せずにGalaxy nexusまたはnexus 7をルート化する方法を誰かが知っているなら......

4

4 に答える 4

2

Jelly Bean は、新しくインストールされたアプリが LogCat で任意のメッセージを表示することを許可しなくなりました。READ_LOGSより具体的には、新しくインストールされたアプリは許可を保持できなくなります。Jelly Bean にアップグレードする前に電話機に AIDE をインストールしていた場合は、表示されている症状を説明できます。

ただし、ログ データを表示するために電話をルート化する必要はありません。LogCat へのロギングは便利なメカニズムです。java.util.loggingログを表示できるように、標準の Java ロギング機能 (例: ) を使用して別の場所 (例: 外部ストレージ) にログを記録することを歓迎します。

于 2012-09-19T10:43:14.363 に答える
0

場合によっては、上記の答えがどれもうまくいかないことがあります。アプリをデバッグするために、ラップトップでEclipseと一緒にNexus 7を使用していたときに、私に起こったことです。これは、以前にデバッグしたアプリとは別のアプリのデバッグを開始したときに特に発生しました。最終的にEclipseのlogcatウィンドウにlogcatメッセージが表示されるようにするために、2つのことを行いました。

まず、Nexus 7 タブレットの [開発者向けオプション] の下に [デバッグ アプリを選択] という設定があります。デバッグ中の特定のアプリを選択する必要がありました(表示されるアプリのリストから-以前にデバッグされたもの)。

次に、adb サーバーを強制終了してサーバーを再起動する必要がありました。この 2 つの手順の後、デバッグ中の新しいアプリから logcat メッセージが表示されるようになりました。

于 2013-06-28T22:21:56.917 に答える