1.8.1 websocket在安卓7.0链接不上

肯定是你的代码问题,我1.8.0 和1.8.1 在android的7.0 、8.0上均无任何问题啊

我们也遇到过这个问题,换android 25编译就好了。
但是25编译不能用binary打包,得用default重编,否则android4.4的设备就会抱找不到rand

还要修改一下build.gradle

我用25打包也不行,但是24可以。binary和default 都是可以的。但是新问题是,打完的包,第一不能用anysdk集成。第二,打出来的包不能在安卓6.0上运行,,,,,,这特么就尴尬了

1.8.x打包不能用anysdk了,害得我又立刻退回1.6.2来打包。

用 Android Studio 编译,修改 app/build.gradle

这样的兼容性应该是最好的,然后再试试看。

1赞

https://github.com/cocos-creator/cocos2d-x-lite/pull/1091

@1002933445 能验证一下么?

minsdk保持不变也没关系,这个只是用作系统判断的,不然低于minsdk的版本可能无法安装了。
targetsdk就是目标平台,一般就是编译的sdk版本,如果编译版本太高,可能会有问题,我记得c++版本是有问题的。建议的最佳编译版本是4.x。

好特么帅的引擎团队哦

2赞

编译c++代码是按照 最低版本 14 来编译的。更多细节,大家可以翻阅:

https://github.com/cocos2d/cocos2d-x/pull/18470

我发现有2个坑,不关乎1.8.x的事

连不上websocket,第一坑.nodejs服务端socketIO版本过高,换成1.x版本就行了,目前npm最新版本2.x
连不上websocket,第二坑.使用高于NDK r13的版本打包,把NDK降级到10+即可,详情请见https://github.com/cocos2d/cocos2d-x/issues/16267,如果不打算降级,请注释掉issues所提交的那个bsd_signal函数

亲测ndk r10e +socketIO 1.4可运绝行大部分机型

socketio 问题 属于年久失修,必须用老版本的socketio。
第二个问题属于NDK 版本自身破坏了兼容性导致的问题。好像使用最新的 ndk 16 配合使用 clang 来编译可以修复。

楼主,以后不要取这种震惊体的标题了。我顺手帮你改掉了。

1赞

【socket-io】在部分安卓设备上是不是有问题

win32模拟器正常,浏览器正常,我自己的手机安卓7.0就是连不上
机型:SAMSUNG SM-G9280
系统:7.0

ps:我之前做Unity开发的,在三星7.0系统上断开网络socket并不会立即断开,而是会像iOS那样过一段时间才断开,
所以猜测会不会和这个问题有关?
希望相关专业人士回复下!

又回退了一下 CCC 版本
1.8.1:无法连接
1.7.0:无法连接
1.6.2:可以正常连接发包

oppo vivo 华为的安卓7.0机子正常

能试试 10 楼大大的方法吗?

按照楼上大大提供的方法修改了,问题依然存在,同样的手机(三星SM-G9280 Android7.0)回退到1.6.2版本正常,1.7 1.8 都不正常,socket无法确保兼容性还是很严重致命的,希望大大们重视一下,毕竟很多人反馈了

请在 AS 中修改 app/build.gradle,将 compileSdkVersion 从 22 改成 26 即可

1赞

多谢大佬,我们的解决了

如何解决的?

如何解决的