解决 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 中的 FragmentActivity
和 SupportFragmentManager
-v4 包。
【讨论】:
嗨,我已经更新了我的帖子,实际上,我正在使用 RoboGuice 片段以上是关于解决 Logcat 警告消息的主要内容,如果未能解决你的问题,请参考以下文章
Android Q 模拟器上 Logcat 中的“runtime_flags 中设置的未知位:0x8000”警告
ABBYY FineReader出现错误和警告提示的解决办法