Привет мир.

Я работаю над Photon Server. Попробуйте запустить демонстрационный файл после загрузки SDK из Photon. Кстати, несчастные случаи.

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"

Я думал, что эта ошибка возникла из-за того, что найти не найти. Но служба поддержки Photon сказала, что это неправильно. Он сказал мне, что я должен включить файл .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)

Он пытается подключить сервер Photon к студии Android без PUN - Unity SDK Only JAVA / Kotlin. Исходный код в https://github.com/Baymax-bibi/Android-photon- server-working.git

Если у кого-то есть опыт подключения к Photon Server, поделитесь пожалуйста для кодировщика.

1
David 17 Июл 2020 в 22:29

1 ответ

Лучший ответ

Я попытался решить свой вопрос и встретился со службой поддержки Photon. Они сказали мне внизу.

Эти ошибки указывают на несовместимость между версией stdlib, на которую ссылается ваше приложение, и версией, на которую ссылаются библиотеки Photon.

SDK предоставляет библиотеки, которые были созданы на основе gcc-версии stdlib (libstdc ++), и библиотеки, которые были созданы на основе clang-версии stdlib (libc ++). Первые используются по умолчанию, а более поздние имеют дополнительный постфикс libc ++ в именах файлов.

Похоже, ваше приложение ссылается на clang-версию stdlib и на те сборки библиотек Photon, которые ссылаются на gcc-версию stdlib.

Однако ваше приложение и все сторонние библиотеки, на которые ссылаются ваши приложения, должны быть согласованы с использованием одной и той же версии stdlib, поскольку эти две несовместимые версии нельзя смешивать друг с другом.

Пожалуйста, посмотри https://forum.photonengine.com/discussion/comment/42718/#Comment_42718 < / а> для инструкций о том, как связать с вариантами libc ++ Библиотеки Photon.

Это должно исправить ваши ошибки.

Похоже работает у меня ...)

2
iBrain 22 Июл 2020 в 17:36