VFY warnings

It may happen that the Android device you use for development outputs a message similar to the one below via Logcat:

E/dalvikvm: Could not find class 'android.system.ErrnoException', referenced from method com.pspdfkit.document.providers.InputStreamDataProvider.a
W/dalvikvm: VFY: unable to resolve instanceof 2254 (Landroid/system/ErrnoException;) in Lcom/pspdfkit/document/providers/InputStreamDataProvider;
D/dalvikvm: VFY: replacing opcode 0x20 at 0x000c

This warning (and any warning like it) is completely harmless and does not cause any issues in your app. A VFY warning (also called a “class verifier warning”) is generated by the Android operating system when it checks the classpath for the availability of classes referenced in the loaded code.

There are several reasons why VFY warnings are generated:

  • Nutrient provides forward compatibility for newer Android platform features. If the executing device runs an older Android version that does not have the mentioned classes or methods available, VFY warnings may be generated. To prevent the faulty usage of non-existing features, Nutrient does availability checks at runtime prior to accessing them.

  • To support various kinds of multimedia annotations, Nutrient makes use of third-party libraries. These libraries are not bundled with Nutrient and need to be added manually if required. Again, Nutrient checks for the availability of these third-party components before using them.

Since VFY warnings are merely informative (and for debugging purposes), no action is required on your side.