Android — сокет ndk не работает на Snapdragon 835

Я работаю над приложением, которое использует NDK для подключения через DRM через сокет.

file.cpp

int conSock = accept(sockd, (struct sockaddr*)&peer_name, &addrlen);

~ / AppData / Local / Android / Sdk / NDK-расслоением / SYSROOT / USR / включать / SYS / socket.h

socket.h

#ifdef __i386__
# define __socketcall extern __attribute__((__cdecl__))
#else
# define __socketcall extern
#endif

__socketcall int accept(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);

#if __ANDROID_API__ >= 21
__socketcall int accept4(int __fd, struct sockaddr* __addr, socklen_t* __addr_length, int __flags) __INTRODUCED_IN(21);
#endif /* __ANDROID_API__ >= 21 */

Сбой приложения при этом вызове (принимать).
Отладчик не может идти дальше вызова accept (только для snapdragon 835)

Я не могу отлаживать внутри принимать потому что это скомпилированная библиотека (см. выше)

Основная проблема в том, что он работает с большинством телефонов, но не с Note 8, S8, Oneplus 5, единственное, что у них общего, — процессор.
Я пробовал также разные версии Android, и все работает нормально.

Обратите внимание, что у затронутых телефонов есть Android 8.0 / 8.1.

Я не смог протестировать с новым Snapdragon, потому что у меня его нет на работе.

Любая помощь?

Если вам нужно больше кода или информации, пожалуйста, прокомментируйте ниже.


РЕДАКТИРОВАТЬ

ndk-стек:

введите описание изображения здесь

Спасибо

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector