在网上查到的方案:用 gomobile 吧 golang 代码编译生成 aar 包,然后在 Android 上使用。
还有人说,上面的方案出错了之后没法调试,Android 直接用 Java 写 socket 连接(毕竟 golang 没有 NIO )。
请教一下
1
behanga 2019-05-27 17:51:01 +08:00
golang 在 android 上有啥优势?
|
2
pmispig 2019-05-27 17:53:34 +08:00
我还以为就我一个人有这种骚操作,我是用 golang 生成了一个 c 的静态链接库.a,用 oc 调用,哈哈
|
6
lihongjie0209 2019-05-27 18:12:48 +08:00
完全没看懂你的需求?
|
7
gramyang OP @lihongjie0209 需求就是怎么在 Android 上连接 go 写的服务端,因为人家有封装好了的 go 前端 sdk,所以想直接用。自己写 socket 连接还要处理协议很麻烦
|
10
lihongjie0209 2019-05-27 18:38:10 +08:00
@gramyang
你自己在服务端再封装一次, 前端直接用 http 就好了 |
11
acehow 2019-05-27 18:40:40 +08:00 via Android
很简单。安卓上用 java 写。
|
12
hmhm7442 2019-05-27 18:46:36 +08:00
gomobile
|
13
janxin 2019-05-27 18:46:55 +08:00
如果没有什么特殊需求,不建议嵌 Go 进去,主要是你可能并不熟悉,出问题根本不会怎么解决
如果你比较熟悉 Go,那就用 gomobile 方案就行了 |
14
hmhm7442 2019-05-27 18:49:51 +08:00
感觉像是 QUIC
|
15
funCoder 2019-05-27 18:53:50 +08:00
参考 golang.org/x/mobile 的 example
|
16
cheng6563 2019-05-27 19:07:32 +08:00 via iPhone
生成 c 的接口用 jni 调用?反正调试是别想了。只能靠日志
|
17
gramyang OP @cheng6563。。。现在应该没人写 Android 用调试的吧?都是 printStackTrace 吧?调试的话那么多调用层,调到下辈子去了都
|
18
Muninn 2019-05-27 19:29:16 +08:00
写--编译成静态链接库--用
|
19
Otho 2019-05-27 21:46:13 +08:00
生成静态库和 gomobile 都用过,确实不是很方便,报错和崩溃都不好查,我是在 iOS/macOS 上使用的,玩玩可以,生产还是算了吧。
|
20
blless 2019-05-27 22:29:14 +08:00 via Android
rust 可能稳一点?我之前也想这么干来着 最终还是放弃了
|
21
zwh2698 2019-05-28 06:35:18 +08:00 via Android
使用 gomobile 除了内存稍微占用大一点,简单方便。比你写 c++或 c 强。不过真的要求高,c 反而也不错
|