如何在jnilibs中为x86 abi生成libpjsua2.so

问题描述 投票:0回答:1

我想在模拟器中使用android 10测试该应用。因此,我在jnilibs中只有“ armeabi”,“ armeabi-v7a”,“ arm64-v8a”。但是使用android 10设备(仿真器)运行应用程序需要x86 abi。所以首先我下载了​​x86的ndk,第二件事是我想为x86 abi生成libpjsua2.so。我正在使用pjsip库。我已经提到了https://trac.pjsip.org/repos/wiki/Getting-Started/Android。我试过的是1)下载最新的pjsip版本并提取到文件夹中。2)遵循以下pjsip网站中给出的步骤,

$ cd /path/to/your/pjsip/dir
$ export ANDROID_NDK_ROOT=/path_to_android_ndk_dir 
$ ./configure-android
$ make dep && make clean && make
$ cd /path/to/your/pjsip/dir
$ make clean

# cleanup pjsua sample app
$ cd pjsip-apps/src/pjsua/android/jni
$ make clean

# also cleanup pjsua2 sample app (SWIG)
$ cd /path/to/your/pjsip/dir
$ cd pjsip-apps/src/swig
$ make clean
$ cd pjsip-apps/src/swig
$ make clean

当我到达上述命令时,出现如下错误,

make  -C java clean
which: no javac in (/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/.local/bin:/home/bin)
which: no javac in (/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/.local/bin:/home/bin)
make[1]: Entering directory `/home/Downloads/pjsip/pjproject-2.10/pjsip-apps/src/swig/java'
Makefile:112: *** Cannot determine JDK include/library path. Please define JAVA_HOME envvar.  Stop.
make[1]: Leaving directory `/home/Downloads/pjsip/pjproject-2.10/pjsip-apps/src/swig/java'
make: *** [java] Error 2

出现上述错误后,我已使用以下命令查找JAVA_HOME, echo $JAVA_HOME 为此,我得到了低于结果的结果,

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java

然后我认为JAVA_HOME已经设置。因此,即使在那之后我仍然出错。不知道为什么。

我也尝试从]复制>

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java

usr/local/bin我已使用以下命令进行复制,

 sudo cp -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64  /usr/local/bin

但是什么也没发生。(我正在使用cent os7)所以我需要在这里做什么?我的应用程序中的PJSIP版本是2.7。但是我下载了2.10 zip文件。我做错了吗?然后需要下载该版本?挣扎了很长时间如果有人使用pjsip库,请为此提供帮助。谢谢。

我想在模拟器中使用android 10测试该应用。因此,我在jnilibs中只有“ armeabi”,“ armeabi-v7a”,“ arm64-v8a”。但是使用android 10设备(仿真器)运行应用程序需要x86 abi。所以对于...

android x86 java-native-interface pjsip pjsua2
1个回答
0
投票

尝试使用this构建器进行编译

© www.soinside.com 2019 - 2024. All rights reserved.