Java Android WireApp日志未满足链接错误:“0”;wcall设置视频发送状态;尝试视频通话时
我已从以下存储库构建wire应用程序: 使用以下构建方向: 如何在本地构建查看wire android存储库。切换到 从签出文件夹运行最新的relase branch版本。/gradlew assembleProdRelease。这将引入所有必要的依赖项 来自Maven 我尝试了发布分支:Java Android WireApp日志未满足链接错误:“0”;wcall设置视频发送状态;尝试视频通话时,java,android,chat,Java,Android,Chat,我已从以下存储库构建wire应用程序: 使用以下构建方向: 如何在本地构建查看wire android存储库。切换到 从签出文件夹运行最新的relase branch版本。/gradlew assembleProdRelease。这将引入所有必要的依赖项 来自Maven 我尝试了发布分支: git clone https://github.com/wireapp/wire-android.git --branch release 08-25 16:01:51.748 406-4592/? E
git clone https://github.com/wireapp/wire-android.git --branch release
08-25 16:01:51.748 406-4592/? E/AudioALSAPlaybackHandlerBase: -getHardwareBufferInfo(), pcm_get_htimestamp fail, ret = -1, pcm_get_error =
大师:
git clone https://github.com/wireapp/wire-android.git
最初,两个版本都给出了错误:
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.UnsatisfiedLinkError: Error looking up function 'wcall_set_video_send_state': undefined symbol: wcall_set_video_send_state
at com.sun.jna.Function.<init>(Function.java:245)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:566)
C:\work\wire音频视频信号>make dist android mk/target.mk:167:
***未知主机系统。停下来
mk/target.mk看起来像:
# Start by auto-determining host system and arch.
ifeq ($(HOST_OS),)
HOST_UNAME := $(shell uname)
ifeq ($(HOST_UNAME),Darwin)
HOST_OS := osx
else
ifeq ($(HOST_UNAME),Linux)
HOST_OS := linux
else
$(error Unknown host system)
endif
endif
endif
Makefile似乎不支持Windows,所以我将尝试从Linux机器构建它,看看这是否有帮助
更新2:
它的确在Ubuntu上构建得更好,但它最终会因为抱怨编译器参数而死去。[对不起,我手头没有这个错误]
但我在这里找到了为Android/ARM构建的库的二进制副本:
然而,这些库似乎也不能解决这个问题
更新3:
尝试了以下操作:
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.UnsatisfiedLinkError: Error looking up function 'wcall_set_video_send_state': undefined symbol: wcall_set_video_send_state
at com.sun.jna.Function.<init>(Function.java:245)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:566)
程序类型已存在:com.waz.avs.VideoCapturer$4
消息{kind=错误,text=程序类型已存在:
com.waz.avs.VideoCapturer$4,sources=[未知源文件],工具
name=可选。of(D8)}
下面还有对AVS库的另一个引用,如果您注释掉,错误就会消失
然而,这些步骤都不能解决问题
现在我将尝试构建发布分支的旧版本
更新4:发布分支:2.41.359
[最新的非测试版本]
- 不再在Android studio中编译,因为layout目录中的一些XML文件格式不正确。这些文件必须被修复并签入Git,因为构建过程会从Git签出所有文件
- 该应用程序最初运行正常并允许登录,但总是在编辑设备屏幕后崩溃。每次你试图打开应用程序时,它都会崩溃
Libs目录:
手臂方向:
提取libavs.so后,我将构建工具生成的wire-prod-release-2.41.99999的未签名版本重命名为wire-prod-release-2.41.99999-avs-mod.zip,删除了旧的libavs.so,并将其替换为我刚从应用程序的生产版本中获取的版本。我将其重新命名为.pkg,然后运行以下命令对其进行签名:
java -jar \uber-apk-signer-0.8.4.jar --apks wire-prod-release-2.41.99999-avs-mod.apk -debug
结果不错,2.41.359不再崩溃。但是,我仍然无法启动任何音频或视频通话。在发布分支的最新版本中发现相同错误:
git clone https://github.com/wireapp/wire-android.git --branch release
08-25 16:01:51.748 406-4592/? E/AudioALSAPlaybackHandlerBase: -getHardwareBufferInfo(), pcm_get_htimestamp fail, ret = -1, pcm_get_error =
作为一个健全的检查,我安装了生产版本:3.15.634用于额外的libavs.so,它能够进行音频和视频通话。[GooglePlay上的版本:3.16.638也适用于音频和视频…]
有什么想法吗?经过几天的尝试,我找到了一种方法来构建该项目,使其能够启动音频和视频通话: 程序:
- git克隆——分支发布
- cd-wire android
- git checkout 2.40.357
- 将项目加载到Android Studio中
- 编辑文件res/layout/collection\u file\u asset.xml
- 将
移到版权注释上方,因为文件必须以XML标记开头 - git添加
- git提交-m“修复了语法错误”
- gradlew汇编程序模块释放
- java-jar\uber-apk-signer-0.8.4.jar--apks-wire-prod-release-2.40.99999.apk-debug
- adb安装wire-prod-release-2.40.99999-aligned-debugSigned.apk
- 由于Scala错误,主机当前未生成
- 当前版本分支生成了一个稳定的应用程序,但在点击视频图标时会导致以下错误:“E/AudioALSAPlaybackHandlerBase:-getHardwareBufferInfo(),pcm\u get\u htimestamp fail,ret=-1,pcm\u get\u error=”
- 最新的稳定版本2.41.359不起作用,因为它在每次应用程序启动时都会崩溃:“AndroidRuntime:致命异常:Thread-4进程:com.wire,PID:29066 java.lang.NullPointerException:尝试调用接口方法'int com.waz.call.RequestHandler.request$1d4ff469()'在com.waz.call.FlowManager.request(FlowManager.java:365)上的空对象引用上使用'
- 虽然building 2.40.357支持音频和视频功能,但它不稳定,在接听和拨打电话时经常崩溃。我已经和其他人谈过了