[Bug] QQ分身文字消息转语音功能异常
- Dominant language
- Java
- Stars
- 5.7k
- Forks
- 416
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 4
Description
### Steps to reproduce/复现步骤
文字消息转语音功能打开后可使用系统tts将文字转为语音消息
### Expected behaviour/预期行为
能够正常使用
### Actual behaviour/实际行为
QQ(非分身)正常使用 QQ分身版本提示错误
### XPosed Framework you used/你使用的XP框架
LSPatch
### QQ(TIM)版本/QQ(TIM) Version
8.9.70.11730(4330)
### Module Version/模块版本
1.4.2.r1659.fd171b1(1659)
### Version requirement/版本要求
- [X] I am using latest debug CI version of QAuxiliary and enable verbose log/我正在使用最新 CI 调试版本且启用详细日志
### Logs/日志
1.4.2.r1659.fd171b1
QQ8.9.70(4330)
PID: 1841, UID: 12911565
io.github.duzhaokun123.hook.MessageTTSHook
isInitialized: true
isInitializationSuccessful: false
isEnabled: true
isAvailable: true
isPreparationRequired: false
errors: 1
kotlin.KotlinNothingValueException: lateinit property instance has not been initialized
at io.github.duzhaokun123.util.TTS.getInstance(SourceFile:8)
at io.github.duzhaokun123.util.TTS.init$lambda$0(SourceFile:7)
at io.github.duzhaokun123.util.TTS.$r8$lambda$lKiDuVpnnwtJvzmXxWbwq8BSNg0(SourceFile:1)
at io.github.duzhaokun123.util.TTS$$ExternalSyntheticLambda5.onInit(SourceFile:1)
at android.speech.tts.TextToSpeech.lambda$dispatchOnInit$0$TextToSpeech(TextToSpeech.java:890)
at android.speech.tts.TextToSpeech$$ExternalSyntheticLambda17.run(Unknown Source:4)
at android.speech.tts.TextToSpeech.dispatchOnInit(TextToSpeech.java:899)
at android.speech.tts.TextToSpeech.initTts(TextToSpeech.java:863)
at android.speech.tts.TextToSpeech.(TextToSpeech.java:794)
at android.speech.tts.TextToSpeech.(TextToSpeech.java:768)
at android.speech.tts.TextToSpeech.(TextToSpeech.java:757)
at android.speech.tts.TextToSpeech.(TextToSpeech.java:741)
at io.github.duzhaokun123.util.TTS.init(SourceFile:16)
at io.github.duzhaokun123.hook.MessageTTSHook.initOnce(SourceFile:98)
at io.github.qauxv.hook.BaseFunctionHook.initialize(SourceFile:8)
at io.github.qauxv.core.InjectDelayableHooks.stepForMainBackgroundStartup(SourceFile:35)
at io.github.qauxv.core.MainHook.performHook(SourceFile:122)
at io.github.qauxv.startup.StartupRoutine.execPostStartupInit(SourceFile:112)
at io.github.qauxv.startup.StartupHook.execStartupInit(SourceFile:46)
at io.github.qauxv.startup.StartupHook$1.afterHookedMethod(SourceFile:50)
at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(XposedBridge.java:484)
at LSPHooker_.blockUntilFinish(Unknown Source:8)
at com.tencent.qqnt.startup.NtStartup.c(P:30)
at com.tencent.mobileqq.g3.a.a.z(P:6)
at com.tencent.mobileqq.g3.a.a.y(P:2)
at com.tencent.mobileqq.g3.a.a.p(P:6)
at com.tencent.common.app.BaseApplicationImpl.onCreate(P:9)
at com.tencent.mobileqq.qfix.QFixApplication.onCreate(P:2)
at mqq.app.AppContentProvider.onCreate(P:1)
at com.tencent.mobileqq.content.FriendListProvider.onCreate(P:1)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2409)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2377)
at android.app.ActivityThread.installProvider(ActivityThread.java:9050)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:8552)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:8216)
at android.app.ActivityThread.access$2700(ActivityThread.java:299)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2739)
at android.os.Handler.dispatchMessage(Handler.java:117)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:293)
at android.app.ActivityThread.main(ActivityThread.java:9596)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1204)
Contributor guide
Research direction
Start with the logged entry points io.github.duzhaokun123.util.TTS.init, TTS.getInstance, and MessageTTSHook.initOnce, then reproduce with LSPatch and QQ 8.9.70.11730 using the reported module version. Check the initialization failure involving the uninitialized TTS instance. Done means text-to-speech works in the QQ clone without the reported error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java, kotlin
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100