Linux环境下如何获取Android TextToSpeech类的JNI方法签名
获取Android TextToSpeech类的JNI方法签名(Linux环境)
直接用JDK自带的javap工具就能搞定,步骤如下:
先找到Android SDK里的
android.jar文件,它一般在SDK的platforms目录下,对应你要适配的API级别,比如API 33的路径大概是:$ANDROID_HOME/platforms/android-33/android.jar
要是没设置$ANDROID_HOME环境变量,就换成你实际的SDK路径,比如~/Android/Sdk/platforms/android-33/android.jar打开终端,执行
javap命令,带上-s参数(用来显示方法的JNI签名),指定类路径和目标类的全限定名:javap -s -classpath $ANDROID_HOME/platforms/android-33/android.jar android.speech.tts.TextToSpeech
执行完之后,终端会输出这个类所有方法的签名信息,比如speak方法的签名会显示成:
public int speak(java.lang.String, int, android.os.Bundle, java.lang.String); descriptor: (Ljava/lang/String;ILandroid/os/Bundle;Ljava/lang/String;)I
这里的descriptor后面的内容就是JNI需要的方法签名。
如果执行时提示javap找不到,检查一下JDK的bin目录有没有加入系统PATH,或者直接用JDK的绝对路径来执行javap。
内容的提问来源于stack exchange,提问作者Mike Ward
相关产品推荐
相关产品推荐

