我已经从以下存储库构建了有线应用程序:https : //github.com/wireapp/wire-android
使用以下构建方向:
如何在本地构建 查看wire-android 存储库。切换到最新的 relase 分支版本 从 checkout 文件夹中,运行 ./gradlew assembleProdRelease。这将从 Maven 中提取所有必要的依赖项。
我试过发布分支:
git clone https://github.com/wireapp/wire-android.git --branch release
还有大师:
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)
但是,可以通过在 Android Studio 中打开项目之前运行以下命令来解决此错误:
gradlew assembleProdRelease
此命令还会在 build/output/apks 中创建 apk。但是,构建未使用发布或调试密钥进行签名。我使用以下工具对 apk 进行签名:https : //github.com/patrickfav/uber-apk-signer/releases
APK稳定,运行正常,但仍无法发起视频通话。它给出了以下错误:
安卓 5:
08-24 22:53:29.877 296-881/? E/FastThread:没有收到预期的优先级提升
安卓 8:
08-24 23:10:02.190 406-4592/? E/AudioALSAPlaybackHandlerBase: -getHardwareBufferInfo(), pcm_get_htimestamp 失败, ret = -1, pcm_get_error =
安卓 9 模拟器:
08-25 19:56:58.425 1583-3268/? W/audio_hw_generic: 没有向 HAL 提供足够的数据,预期位置 4108693 ,只写了 4108320
更新:
我想尝试构建我自己版本的 AVS 库:遵循https://github.com/wireapp/wire-audio-video-signaling
需要运行以下命令:
make dist_android
C:\work\wire-audio-video-signaling>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 机器构建它,看看是否有帮助。
相关分类