【问题标题】:Android logcat "application" column is always emptyAndroid logcat“应用程序”列始终为空
【发布时间】:2013-01-24 19:34:48
【问题描述】:

Android logcat“应用程序”列始终为空。我有最新版本的安卓工具。

【问题讨论】:

  • 即使在重新启动 Eclipse 之后?
  • 我正在使用 intellij。这是ddms窗口。应用程序列始终为空。重启没有帮助。
  • 哦,我从来没有使用过 intellij,但我在 eclipse 上遇到过几次这个问题,并且大多数时候重启 eclipse/重启 ddms 或调试都能解决问题
  • 我使用的是独立工具的监视器,与 intellij 无关。这个截图是监控应用(android-sdk/tools/monitor)
  • 你最后得到解决方案了吗??

标签: android logcat android-logcat


【解决方案1】:

我在这里尝试了所有其他建议,但都没有奏效。对我来说,应用程序在模拟器上运行时会显示,但在我的 Galaxy Nexus 上不会显示。

原来我需要在AndroiManifest.xml 中将android:debuggable="true" 添加到<application>。见http://developer.android.com/guide/topics/manifest/application-element.html。使用Eclipse的人看不到这个问题,因为显然Eclipse根据http://developer.android.com/tools/device.html启用了自动调试。

显然,应用程序需要标记为可调试才能在生产 ROM 上调试它们,但无论如何它们都可以在调试 ROM 上进行调试,这就是它在模拟器上工作但在物理设备上不工作的原因。另一种选择可能是构建调试 ROM 并将其安装在您的设备上。

您会认为 logcat 应该能够根据 PID 找出应用程序,而不是需要为调试而构建应用程序。

【讨论】:

  • 对我不起作用。也试过了:重启手机,重启adb,重启eclipse,清日志.....什么都没有
  • 我尝试了 3 种不同品牌的不同设备。重新启动 Eclipse。尝试了独立的 ddms.bat 和 monitor.bat。没有任何效果。模拟器工作正常,但所有设备的应用程序列都是空的。
  • 它只在无根手机上需要,否则我们不需要,因为它在有根手机上不起作用。它发生在我身上
  • It's best to leave out the android:debuggable attribute from the manifest. If you do, then the tools will automatically insert android:debuggable=true when building an APK to debug on an emulator or device. And when you perform a release build, such as Exporting APK, it will automatically set it to false. If on the other hand you specify a specific value in the manifest file, then the tools will always use it. This can lead to accidentally publishing your app with debug information.
  • @StevieG 是的,如果您的构建系统自动正确设置它会更好,但是如果您最终遇到这个问题,那么显然有问题了。 IIRC Play 商店将阻止您发布可调试的 APK。
【解决方案2】:

另一个想法:

adb kill-server
adb start-server

为我工作。

【讨论】:

    【解决方案3】:

    在运行您的应用程序之前,您应该通过 Tools -> Android 启用 ADB 集成。那么日志猫就可以正常工作了。

    工具->Android->启用 ADB 集成活动

    【讨论】:

    • 这是什么屏幕,Android Studio?如果有人没有 AS 怎么办?
    • @PaxBeach 是的,这是 android studio.. 如果没有安装它:).. 因为这是官方 IDE.. Google 将来可能会限制其他 IDE。所以跳转到 AS
    【解决方案4】:

    我今天遇到了这个问题。对我有用的是连接到模拟器(如果你有一个具有虚拟化功能的英特尔 CPU,运行具有虚拟化功能的英特尔模拟器映像——它会快得多),在模拟器上启动应用程序并查看应用程序字段是否返回通过使用您的应用程序登录来登录。

    对我来说,连接到模拟器后,在尝试了一些写入日志的日志操作后,开始显示应用程序列。之后,我连接回我的实际设备(Nexus 7),再次从 Eclipse 启动应用程序,并将 DDMS 设置回在 Nexus 7 上运行的应用程序,应用程序列又神奇地出现了。

    在此之前,我尝试了各种设备 (Nexus 4) 并重新启动 Eclipse/adb,但在连接到模拟器之前没有任何效果。

    【讨论】:

      【解决方案5】:

      我已经尝试修复这个奇怪的错误,但没有任何效果。有时应用程序名称在 logcat 中为空白,有时它在那里。我什至无法重现它。这不是答案,而是我的快速修复。

      浏览整个 logcat 并以某种方式识别应用程序的 PID,然后像这样在 logcat 搜索中过滤它

      pid: 10036

      或任何您的应用 PID。

      【讨论】:

        【解决方案6】:

        我在通过“帮助=>检查更新”将我的 eclipse ADT 包升级到最新版本的 ADT 插件后遇到了这个问题。现在有几个小时我再也回不来了.....

        不幸的是,我尝试过的任何方法都无法在应用程序列中恢复应用程序名称。事实上,我什至一度遇到了 ADB 设备离线问题。出现问题的第一个迹象是我的 android 设备会显示在 DDMS 透视图中,但没有列出包名称。

        我最终重新安装了我的 ADT 包(到一个新文件夹中),拔下我的设备,重新启动,然后重新启动一切并使用新的 ADT 包。

        【讨论】:

          【解决方案7】:

          在我的特殊情况下(我正在使用 Netbeans 和独立的 Android 调试监视器)“应用程序”列在我之后返回:

          1. “强制停止”设备中的应用程序
          2. 从 Netbeans 再次运行 >“运行项目”

          【讨论】:

            猜你喜欢
            • 2014-12-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-11-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多