1、背景
假設源代碼路徑爲/home/freeswitchjava
2、編譯安裝libesl.a
1. cd /home/freeswitch(源代碼的根目錄)linux
執行./configure,以便生成必要的Makefile文件。jvm
2. cd /home/freeswitch/libs/eslit
make && make install編譯
3. 默認libesl.a安裝在/usr/local/freeswitch/lib目錄下jdk
須要拷貝到/home/freeswitch/libs/esl目錄下配置
由於esl的Makefile默認libesl.a這個庫文件在當前目錄file
3、編譯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
修改成機器的實際路徑,例如:個人機器jdk路徑以下:make
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庫了。