Photon Server 连接 Demo 在 Android studio 上执行错误

Posted

技术标签:

【中文标题】Photon Server 连接 Demo 在 Android studio 上执行错误【英文标题】:Photon Server connecting Demo perform error on Android studio 【发布时间】:2020-07-17 19:29:48 【问题描述】:

你好,世界。

我正在开发 Photon Server。 从 Photon 下载 SDK 后尝试运行演示文件。顺便说一句,发生了一些事故。

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/demo.android.loadBalancing-GIL4HGl5AqJzcC3EdKzdFg==/base.apk"],nativeLibraryDirectories=[/data/app/demo.android.loadBalancing-GIL4HGl5AqJzcC3EdKzdFg==/lib/arm64, /system/lib64, /system/vendor/lib64]]] couldn't find "libdemoLoadBalancing.so"

我以为这个错误是由 .so find not find 发生的。但是光子支持说这是错误的。他对我说,我必须包含 .a 文件,而不是 .so 作为静态库。

下面是我的 Android.mk 文件。

# Generated by VisualGDB

LOCAL_PATH := $(call my-dir)
PHOTON_SDK_ROOT := $(LOCAL_PATH)/../../../..

include $(CLEAR_VARS)

LOCAL_MODULE := demoLoadBalancing
#VisualGDBAndroid: AutoUpdateSourcesInNextLine
LOCAL_SRC_FILES := ../../src/NetworkLogic.cpp AndroidNetworkLogic.cpp main.cpp

LOCAL_C_INCLUDES := $(PHOTON_SDK_ROOT) ../inc/ ../../shared/inc
LOCAL_CFLAGS := -Werror-implicit-function-declaration -Wall -DEG_DEBUGGER -D__STDINT_LIMITS -D_EG_ANDROID_PLATFORM
LOCAL_STATIC_LIBRARIES := loadbalancing-cpp-static-prebuilt photon-cpp-static-prebuilt common-cpp-static-prebuilt
LOCAL_LDLIBS := -llog

include $(BUILD_SHARED_LIBRARY)

$(call import-add-path, $(PHOTON_SDK_ROOT)/LoadBalancing-cpp/lib)

$(call import-module,loadbalancing-cpp-prebuilt)

它试图在没有 PUN 的情况下连接 Android Studio 上的 Photon 服务器 - Unity SDK Only JAVA/Kotlin。 源代码在 https://github.com/Baymax-bibi/Android-photon-server-working.git

如果有人在 Photon Server 连接方面有经验,请分享给程序员

【问题讨论】:

【参考方案1】:

我试图解决我发布的问题并遇到了 Photon 支持。他们在下面对我说。

这些错误表明 stdlib 版本之间不兼容 您的应用程序链接的那个和 Photon 库链接的那个 反对。

SDK 提供了针对 gcc 版本构建的库 针对 clang 构建的标准库(libstdc++)和库 标准库 (libc++) 的版本。前者默认使用 而后者在他们的 文件名。

看起来您的应用链接到了标准库的 clang 版本 并针对那些与 gcc 链接的 Photon 库版本 标准库的版本。

但是,您的应用和您的应用链接到的所有第 3 方库必须 同意使用与那些 2 不兼容的相同版本的 stdlib 版本不能相互混合。

请看 https://forum.photonengine.com/discussion/comment/42718/#Comment_42718 有关如何链接到 libc++ 变体的说明 光子库。

这样做应该可以解决您的错误。

看起来对我有用...)

【讨论】:

如果这篇文章对任何人有帮助,请分享您的经验和感受。 forum.photonengine.com/discussion/comment/52007#Comment_52007

以上是关于Photon Server 连接 Demo 在 Android studio 上执行错误的主要内容,如果未能解决你的问题,请参考以下文章

Photon Server

Photon Server LoadBalancing搭建

如何将一个桌面作为 Photon Unity 服务器

在Unity中使用Photon(网络多人联机)

Photon Server伺服务器在LoadBalancing的基础上扩展登陆服务

Photon Server 实现注册与登录 --- 服务端响应登陆和注册