解决 Logcat 警告消息

Posted

技术标签:

【中文标题】解决 Logcat 警告消息【英文标题】:Resolve Logcat warning message 【发布时间】:2013-03-11 08:47:40 【问题描述】:

当我在 Android 2.2.3 (API 10) 设备上运行我的应用程序时,我不断收到来自 logcat

的以下警告和错误消息
03-11 10:41:51.509: V/ACTIVITY onCreate()(7585): ok
03-11 10:41:51.519: W/dalvikvm(7585): VFY: unable to resolve virtual method 30: Landroid/app/Activity;.getFragmentManager ()Landroid/app/FragmentManager;
03-11 10:41:51.519: E/dalvikvm(7585): Could not find class 'android.app.Fragment', referenced from method net.hockeyapp.android.UpdateManager.fragmentsSupported
03-11 10:41:51.519: W/dalvikvm(7585): VFY: unable to resolve const-class 24 (Landroid/app/Fragment;) in Lnet/hockeyapp/android/UpdateManager;
03-11 10:41:51.519: W/dalvikvm(7585): VFY: unable to resolve virtual method 30: Landroid/app/Activity;.getFragmentManager ()Landroid/app/FragmentManager;

但是,在Android 4.1.1设备上,就没有这个问题了。

我想知道,警告和错误消息是什么意思?

P.S.我在AndroidManifest.xml中有如下定义:

<uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="13" />

我的应用正在使用RoboGuice 片段,我的所有片段扩展 RoboFragment

我的 Activity 扩展了 RoboFragmentActivity

它们应该与 pre API 11 兼容。

我的问题只有在我登录后才会出现,然后关闭应用程序,然后重新启动应用程序。该应用程序在 Android 2.3.3 上运行良好,只需启动应用程序即可显示第一个片段而无需登录。

【问题讨论】:

早期版本的 Android 不支持片段。您可以使用支持库来解决这个问题。如果您的应用大量使用片段,您可能无法将其定位到早期版本,例如 API10 【参考方案1】:

此消息来自 HockeySDK(我是此 SDK 的维护者)。 SDK 正在检查片段 API 是否可用(请参阅 here),如果不可用,则回退到 2.x 兼容视图。它不应影响您应用的行为或导致崩溃。

【讨论】:

【参考方案2】:

我猜如果您使用 fragrant 并且在 4.* 设备上运行时没有收到此按摩,那么问题是您没有使用 android-support 中的 FragmentActivitySupportFragmentManager -v4 包。

【讨论】:

嗨,我已经更新了我的帖子,实际上,我正在使用 RoboGuice 片段

以上是关于解决 Logcat 警告消息的主要内容,如果未能解决你的问题,请参考以下文章

Logcat 只显示警告,不显示错误

Android Q 模拟器上 Logcat 中的“runtime_flags 中设置的未知位:0x8000”警告

未处理的承诺警告。如何解决?

ABBYY FineReader出现错误和警告提示的解决办法

设置 lightContent 上 statusBarStyle 的警告消息

关闭文件时无法抑制剪贴板警告消息