Pra*_*ash 11 android sip linphone
我正在尝试运行我从git获得的linphone代码://git.linphone.org/linphone-android.git --recursive.成功下载后,我尝试按照README文件编译并运行它.我使用Cygwin进行Autotools,Autoconfig,Automake,aclocal,libtoolize以及pkgconfig和Android ndk r8d.
然后我在cygwin中执行了prepare_sources.sh shell脚本,下载了一些所需的resuorces.
完成所有步骤后,当我尝试运行代码时,我在运行时和应用程序崩溃时遇到UnsatisfiedLinkError异常.
我还从logcat了解到一些库无法加载,因为上述异常发生并导致应用程序崩溃.这是Logcat输出:
02-26 10:03:55.739: W/Unable to load optional library lib(1084): avutil
02-26 10:03:55.749: W/Unable to load optional library lib(1084): swscale
02-26 10:03:55.759: W/Unable to load optional library lib(1084): avcore
02-26 10:03:55.769: W/dalvikvm(1084): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lorg/linphone/core/LinphoneCoreFactoryImpl;
02-26 10:03:55.769: D/AndroidRuntime(1084): Shutting down VM
Run Code Online (Sandbox Code Playgroud)
================================================== ================================
02-26 10:03:55.769: W/dalvikvm(1084): threadid=1: thread exiting with uncaught exception (group=0x40a70930)
02-26 10:03:55.869: E/AndroidRuntime(1084): FATAL EXCEPTION: main
02-26 10:03:55.869: E/AndroidRuntime(1084): java.lang.ExceptionInInitializerError
02-26 10:03:55.869: E/AndroidRuntime(1084): at java.lang.Class.classForName(Native Method)
02-26 10:03:55.869: E/AndroidRuntime(1084): at java.lang.Class.forName(Class.java:217)
02-26 10:03:55.869: E/AndroidRuntime(1084): at java.lang.Class.forName(Class.java:172)
02-26 10:03:55.869: E/AndroidRuntime(1084): at org.linphone.core.LinphoneCoreFactory.instance(LinphoneCoreFactory.java:43)
02-26 10:03:55.869: E/AndroidRuntime(1084): at org.linphone.LinphoneManager.startLibLinphone(LinphoneManager.java:417)
02-26 10:03:55.869: E/AndroidRuntime(1084): at org.linphone.LinphoneManager.createAndStart(LinphoneManager.java:226)
02-26 10:03:55.869: E/AndroidRuntime(1084): at org.linphone.LinphoneService.onCreate(LinphoneService.java:165)
02-26 10:03:55.869: E/AndroidRuntime(1084): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2529)
02-26 10:03:55.869: E/AndroidRuntime(1084): at android.app.ActivityThread.access$1600(ActivityThread.java:141)
02-26 10:03:55.869: E/AndroidRuntime(1084): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
02-26 10:03:55.869: E/AndroidRuntime(1084): at android.os.Handler.dispatchMessage(Handler.java:99)
02-26 10:03:55.869: E/AndroidRuntime(1084): at android.os.Looper.loop(Looper.java:137)
02-26 10:03:55.869: E/AndroidRuntime(1084): at android.app.ActivityThread.main(ActivityThread.java:5039)
02-26 10:03:55.869: E/AndroidRuntime(1084): at java.lang.reflect.Method.invokeNative(Native Method)
02-26 10:03:55.869: E/AndroidRuntime(1084): at java.lang.reflect.Method.invoke(Method.java:511)
02-26 10:03:55.869: E/AndroidRuntime(1084): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-26 10:03:55.869: E/AndroidRuntime(1084): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-26 10:03:55.869: E/AndroidRuntime(1084): at dalvik.system.NativeStart.main(Native Method)
02-26 10:03:55.869: E/AndroidRuntime(1084): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load neon from loader dalvik.system.PathClassLoader[dexPath=/data/app/org.linphone-1.apk,libraryPath=/data/app-lib/org.linphone-1]: findLibrary returned null
02-26 10:03:55.869: E/AndroidRuntime(1084): at java.lang.Runtime.loadLibrary(Runtime.java:365)
02-26 10:03:55.869: E/AndroidRuntime(1084): at java.lang.System.loadLibrary(System.java:535)
02-26 10:03:55.869: E/AndroidRuntime(1084): at org.linphone.core.LinphoneCoreFactoryImpl.<clinit>(LinphoneCoreFactoryImpl.java:47)
02-26 10:03:55.869: E/AndroidRuntime(1084): ... 18 more
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我解决它.对此的解决方案,非常感谢..提前感谢.
iPh*_*hnQ 15
第1部分
以下步骤可以帮助您在设备或模拟器上创建和安装构建(在Mac上测试):
步骤1:您需要安装Android SDK和NDK并同时安装Autotools Mac用户可以使用此链接(仅在链接中关注点2.3)其他平台用户请确保正确安装.
步骤2:Mac用户通过运行以下命令打开您的终端并在您想要的任何目录上克隆git repo :(其他用户抱歉我不知道如何,但我认为您可以弄清楚如何获取git使用命令promt或您正在使用的任何内容回复目录
$ git clone git://git.linphone.org/linphone-android.git --recursive
将Repo复制到目录后,转到目录并打开README文件并读出整个文件.
Step3:现在我们将按照README文件中的说明进行操作首先使用终端上的以下命令转到下载项目的根目录:
Mac users on terminal write cd and
then drag and drop the "linphone-android" folder on terminal
(when you drag and drop the folder terminal will get the path of the folder and then you can hit enter to get into the directory of that folder)
$ cd /Users/myname/Desktop/Android/linphone-android
Run Code Online (Sandbox Code Playgroud)
或者只是使用简单的命令cd进入该文件夹
$ cd Desktop
$ cd Android
$ cd linphone-android
Run Code Online (Sandbox Code Playgroud)
现在,当您进入终端上的目录时,请检查Mac运行中安装的SDK和NDK的PATH
$ echo $PATH
Run Code Online (Sandbox Code Playgroud)
如果您看到带有SDK和NDK位置的路径,则可以继续执行Step4并跳过下面的部分,如果没有,则需要在执行第4步中的make和make install脚本之前设置PATH:设置路径使用:
$ export PATH=/Users/myname/Documents/adt-bundle-mac-x86_64-20130729/sdk/platform-tools:/Users/myname/Documents/adt-bundle-mac-x86_64-20130729/sdk/tools:/Users/myname/Documents/android-ndk-r9:$PATH
Run Code Online (Sandbox Code Playgroud)
它就像导出PATH =(SDK平台工具文件夹的路径):( SDK工具文件夹的路径):(你的NDK文件夹的路径):$ PATH
这将设置路径并确认再次运行
$ echo $PATH
Run Code Online (Sandbox Code Playgroud)
现在您将看到SDK和NDK的路径就在那里.
第4步:现在如果路径已经设置,您可以简单地运行
$ make
Run Code Online (Sandbox Code Playgroud)
现在将您的设备连接到Mac/PC并查看eclipse是否已检测到它.设备连接后运行:
$ make install
$ make generate-sdk (optional)
Run Code Online (Sandbox Code Playgroud)
这会将应用程序安装到手机中.(您需要在应用程序中配置有效的SIP用户名和密码)
以上步骤对我有用,我能够在我的设备上运行该应用程序.
第2部分
导入Eclipse:完成构建之后,现在需要将其导入到eclipse中.
步骤1:转到eclipse,单击File Menu,然后单击Import,然后选择Existing Android Code into Workspace
单击下一步并浏览到linphone-android项目文件夹并且只勾选linphone-android文件夹并将复制项目保留为工作区unickick.
这样做如下图:

并命中完成.现在你右键单击"linphone-android"(项目名称)并转到"属性和Java构建路径",然后转到"订购和导出",然后将它们重新排序为下面的图像并取消gcm.jar

点击OK和Boom没有错误现在只需在设备或模拟器上运行它.(确保您的最低目标SDK与您的设备或模拟器匹配.)
以上步骤对我来说很好,它也适合你.
祝一切顺利 !!
问题是您缺少本机 neon 库,或者更具体地说,缺少“libneon.so”。
要解决此问题,您必须使用已下载的 linphone 源代码构建 neon 库(“libneon.so”)。
假设您有源代码,android sdk,ndk,autotools,...(如果没有,请按照项目目录中的自述文件进行操作),转到项目目录:
如果一切顺利,您应该编译 neon 库(“libneon.so”)。完成后,您的问题应该得到解决(如果您仍然遇到错误,请确保您在 java.library.path 中有该库)。
有关如何加载 Java 本机/共享库 (.so) 的更多信息,请访问以下链接: http: //www.chilkatsoft.com/java-loadLibrary-Linux.asp
| 归档时间: |
|
| 查看次数: |
9224 次 |
| 最近记录: |