I have integrated Dolby_audio_plugin_api_v1.1.1.0 into my Android app and am seeing this stack trace in a handful of cases:
java.lang.NoClassDefFoundError: com.dolby.dap.DsClientManager$AppActivityLifecycleCallbacks
at com.dolby.dap.DsClientManager.(DsClientManager.java:196)
at com.dolby.dap.DolbyAudioProcessing.(DolbyAudioProcessing.java:143)
at
com.dolby.dap.DolbyAudioProcessing.getDolbyAudioProcessing(DolbyAudioProcessing.java:125)
at com.houseofhighfives.saddest_trombone.Main.onCreate(Main.java:44)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(NativeStart.java)
Following the examples on the Dolby dev site, this is the call that tries to initialize the DolbyAudioProcessing instance:
mDolbyAudioProcessing = DolbyAudioProcessing.getDolbyAudioProcessing(this, PROFILE.MUSIC, this);
According to Crashlytics, all instances were on a Samsung GT-S5360B or GT-S5360L, running Android 2.3.6.
Very minor thing, given how infrequent it is, but it makes me curious. Has anyone else seen this before?
So this turned out to be a because the AppActivityLifecycleCallbacks is an ICS API Level interface. I should have been doing SDK_LEVEL check before calling DolbyAudioProcessing.getDolbyAudioProcessing(). – mmcmahon