一、背景
假設源代碼路徑為/home/freeswitch
二、編譯安裝libesl.a
1. cd /home/freeswitch(源代碼的根目錄)
執行./configure,以便生成必要的Makefile文件。
2. cd /home/freeswitch/libs/esl
make && make install
3. 默認libesl.a安裝在/usr/local/freeswitch/lib目錄下
需要拷貝到/home/freeswitch/libs/esl目錄下
因為esl的Makefile默認libesl.a這個庫文件在當前目錄
三、編譯esl.jar和libesljni.so
1. 修改java模塊的Makefile
cd /home/freeswitch/libs/esl/java
默認的關於java頭文件的配置
LOCAL_CFLAGS=-I../src/include -I/usr/java/jdk1.6.0_14/include -I/usr/java/jdk1.6.0_14/include/linux -I/usr/lib/jvm/java-6-openjdk/include/ -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux
修改為機器的實際路徑,例如
LOCAL_CFLAGS=-I../src/include -I/usr/java/jdk1.8.0_112/include -I/usr/java/jdk1.8.0_112/include/linux
2. 編譯
cd /home/freeswitch/libs/esl(返回上一級目錄)
make javamod
3. cd /home/freeswitch/libs/esl/java
如果一切順利的話,你能看到esl.jar和libesljni.so這兩個文件。
OK,可以在java中通過jni調用libesljni.so庫了。