在jni中需要回調java層的方法,如何才能做到精確查找java的方法?一個是函數名稱,另外一個就是函數的簽名了。但如何生成函數的簽名?通過javap工具:
javap -s -p Session.class
以我的linux平臺下的androidstudio爲例:在AS下面,選擇Terminal對話框,查找*.class目錄,命令如下:
find ./ -name "*.class"
進行class目錄,然後查找是否存在Session.class,命令:
ls -l Session.class
此時執行: javap -s -p Session.class命令,即可生成Session中的簽名,如果文件比較大,翻閱起來比較麻煩,此時再添加一條過濾的的語句(比如查找FunctionName函數的簽名):
javap -s -p Session.class | grep FunctionName -A 3 -B 3