我今天回来工作,我开始使用模拟器(KitKat)调试我的应用程序,我的应用程序运行正常。自上周五以来我做了一些改变,但并不多。
然后我转移到设备(Gingerbread)并注意到上周工作的应用程序已经开始在主要活动的setContentView()
上崩溃。以下是警告/错误消息:
W/ActivityThread﹕ Application com.example.myapp is waiting for the debugger on port 8100...
W/dalvikvm﹕ VFY: unable to resolve static method 790: Landroid/net/TrafficStats;.setThreadStatsTag (I)V
W/dalvikvm﹕ VFY: unable to resolve instance field 50
W/dalvikvm﹕ VFY: unable to resolve virtual method 95: Landroid/app/Activity;.getFragmentManager ()Landroid/app/FragmentManager;
W/dalvikvm﹕ Unable to resolve superclass of Lmaps/aj/r; (671)
W/dalvikvm﹕ Link of class 'Lmaps/aj/r;' failed
W/dalvikvm﹕ Unable to resolve superclass of Lmaps/ay/an; (6382)
W/dalvikvm﹕ Link of class 'Lmaps/ay/an;' failed
W/dalvikvm﹕ Unable to resolve superclass of Lmaps/c/i; (6613)
W/dalvikvm﹕ Link of class 'Lmaps/c/i;' failed
E/dalvikvm﹕ Could not find class 'maps.c.i', referenced from method maps.e.al.a
W/dalvikvm﹕ VFY: unable to resolve new-instance 6818 (Lmaps/c/i;) in Lmaps/e/al;
所有这些消息都显示在setContentView
方法之后。
我注意到它提到了getFragmentManager
,但这并不是我应用的一部分。由于它具有API 9兼容性,因此我使用的是AppCompat v7 getSupportFragmentManager
,并且在所需的任何位置都包含Support
。
我已经撤消了我今天早些时候所做的更改,但它仍然无效。 appcompat lib最近有可能更新吗?我正在使用Gradle来获取大部分内容:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.google.android.gms:play-services:+@aar'
compile 'com.google.code.gson:gson:+@jar'
compile 'com.google.zxing:android-integration:+@jar'
compile 'com.googlecode.libphonenumber:libphonenumber:+@jar'
compile 'com.intellij:annotations:12.0'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':Facebook')
}
我不知道如何调试这些VFY错误。我该怎么办才能解决这些问题?
答案 0 :(得分:6)
我不知道如何调试这些VFY错误
他们不是错误。他们是警告。每行开头的“W”是“警告”的缩写。
这些警告只是注意到Dalvik在从APK加载无法解决的类时所看到的类,方法和其他符号。只要你没有实际执行任何包含任何缺失的东西的代码,一切都会好的。此外,它们在很大程度上是不可避免的,因为它们是应用程序和库代码的自然副作用,在支持这些功能的新设备上使用更新的功能。