espeak crashing continously
- /e/ version: 0.14-o-2021012798648-dev-bullhead
- Device model(s): Google Nexus 5x
Summary
since the app espeak was included as a standard app, I got continous messages on my Nexus 5x , that the app was crashing. This appeared, if I opened Magic Earth for example, but also with other apps (e.g. Xodo).
In the end, I was hoping for the 0.13 and the 0.14 versions to fix the problem, but they didn’t.
The problem
Starting app e.g. Magic Earth -> dialogue appears, saying espeak has crashed - option is to restart. When hitting restart -> dialogue appears giving options to restart or close espeak. If choosing to close app, it's possible to move on with the actual app.
Same happens, if wanting to change default TTS engine in the OS settings. So it's not possible to change it.
What is the current behavior?
What is the expected correct behavior?
Technical informations
Relevant logs (adb logcat
)
FATAL EXCEPTION: main
Process: com.reecedunn.espeak, PID: 21091
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.reecedunn.espeak/com.reecedunn.espeak.CheckVoiceData}: java.lang.ClassNotFoundException: Didn't find class "com.reecedunn.espeak.CheckVoiceData" on path: DexPathList[[zip file "/system/app/eSpeakTTS/eSpeakTTS.apk"],nativeLibraryDirectories=[/system/app/eSpeakTTS/lib/arm, /system/app/eSpeakTTS/eSpeakTTS.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/lib, /vendor/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.reecedunn.espeak.CheckVoiceData" on path: DexPathList[[zip file "/system/app/eSpeakTTS/eSpeakTTS.apk"],nativeLibraryDirectories=[/system/app/eSpeakTTS/lib/arm, /system/app/eSpeakTTS/eSpeakTTS.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
... 9 more
Suppressed: java.io.IOException: No original dex files found for dex location /system/app/eSpeakTTS/eSpeakTTS.apk
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:353)
at dalvik.system.DexFile.<init>(DexFile.java:100)
at dalvik.system.DexFile.<init>(DexFile.java:74)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
at dalvik.system.DexPathList.<init>(DexPathList.java:157)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73)
at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)
at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:35)
at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:693)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:727)
at android.app.LoadedApk.getResources(LoadedApk.java:954)
at android.app.ContextImpl.createAppContext(ContextImpl.java:2286)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5639)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
... 6 more
Relevant screenshots
Solutions
Workaround
At some point, even the TTS functionality was gone and I was able to install a workaround (VocalizerEx2) for those apps I needed.
Possible fixes