栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

GO 交叉编译打包AAR并将Android应用变成web服务

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GO 交叉编译打包AAR并将Android应用变成web服务

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • GO 编译打包AAR
  • 一、gomobile
  • 二、使用步骤
    • 1.GO Code
    • 2.编译GO Code 生成so到AAR
    • 3.添加AAR到Android项目并开启web服务
  • 结尾


GO 编译打包AAR

最近在用go写高并发web接口,发现其强大的交叉编译功能可以编译成Android AAR,用go来做native层的工作简直不要太香,告别繁琐的JNI调用,效率瞬间提升上来。下面简单在Android应用中启用web服务。


GO、AndroidSDK、AndroidNDK安装与环境配置略过

一、gomobile

gomobile 可以让golang在移动设备中使用,这里我们用到的是bind 动态库方式native开发

下载安装gomobile

go get golang.org/x/mobile/cmd/gomobile

如果被墙了可以把gomobile项目clone到$GOPATH/src/golang.org/x下面

初始化

gomobile init
二、使用步骤 1.GO Code

代码如下(示例):

package test

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
)

func Add(x int, y int) int {
	fmt.Println(x, y)
	return x + y
}

var r *gin.Engine

func Run() {
	r = gin.Default()
	r.GET("/hello", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{"name": "zhangsan"})
	})
	r.Run(":8080")
}
2.编译GO Code 生成so到AAR
gomobile bind -target=android test
3.添加AAR到Android项目并开启web服务


Android调用代码,子线程中运行gin相关web接口

			lifecycleScope.launch(Dispatchers.IO) {
                Test.run()
            }
            val sum = Test.add(2,2)
            Log.e("main","$sum")

运行结果
浏览器访问Android web接口


结尾

go真香

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/903582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号