Question

Vuforia have upgraded their library to patch a bug and I have to update it in a hurry.

I went from 2.5.7 to 2.8.8 and I've taken the following steps:

  • adjust the eclipse global QCAR_SDK_ROOT variable to point to the new directory;
  • append "-o" to the name of the old directory to ensure I'm not accidentally referencing obsolete libraries;
  • change the external jar reference in my project to point to the new jar, and added that jar to the order and export tab (yes, I checked it!);
  • changed the makefile to point to the new location;
  • changed references to QCAR::Tracker::IMAGE_TARGET to QCAR::ImageTracker::getClassType() (a header has changed);
  • removed the armeabi build from the makefile so only the armeabi-v7a is operational;
  • completely cleaned and rebuilt everything;
  • restarted eclipse.

When I try and run the app, QCAR::onResume() causes a NoClassDefFoundError.

I really can't think of a step I've missed and /bin/dexedLibs/ contains a Vuforia-4e3d2406...etc.jar. The application does reference an external jar, but it did before and worked. It also references a separate external jar, but one built from a secondary project (which is also referenced in the Android properties and java build path). What could I have done wrong?

Vuforia developer forum post: https://developer.vuforia.com/forum/android/noclassdeffounderror-upgraded-library

Was it helpful?

Solution

The native library in 2.5.7 was called libQCAR.so. The native library in 2.8.8 is called libVuforia.so. I needed to change

System.loadLibrary("QCAR");

to

System.loadLibrary("Vuforia");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top