如果Android TextToSpeech在调试模式下工作正常,但在发布模式下无法正常工作,可能是由于混淆导致的问题。以下是一种解决方法,可以尝试在混淆规则中添加对TextToSpeech类的保留:
android {
// ...
buildTypes {
release {
// ...
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
// ...
}
在app模块的根目录下,创建一个名为proguard-rules.pro的文件(如果没有的话)。
在proguard-rules.pro文件中,添加以下代码:
# TextToSpeech类的保留
-keep class android.speech.tts.TextToSpeech { *; }
以上代码将保留TextToSpeech类及其所有方法和成员,以防止在混淆过程中被删除。
这样,TextToSpeech类应该在发布模式下正常工作了。
上一篇:Android TextToSpeech#speak 逐个朗读整数
下一篇:Android TextView 报 IndexOutOfBoundsException TextLine.handleRun 错误。