目录
前言
因为之前一直做的H5+APP开发,GIS服务后端基本上都是部署在服务器中,遇到客户需要定制纯离线版webgis app时遇到了这个问题,因为本身是做的BS端的产品,一下转纯安卓嵌入式app,一是没有完善的gis生态,二是抛弃前期开发投入的成本过于浪费,于是想着如何将Go语言开发的gis后端和postgis数据库编译安装到安卓机中,同时将大量的gis数据也导入postgis数据库中。整体流程已经实现,因流程繁琐且坑巨多,所以写下该篇博客总结全套流程,希望也能帮助到有同样需求的朋友。
一、将后端项目编译ARM64
安卓系统本质还是使用的linux内核,所以我们第一步是需要将golang的后端项目整体编译打包成ARM64系统的二进制可执行文件,好在go语言自带交叉编译,能够在windows系统设置编译成任意系统的二进制可执行文件。
1、设置GOOS为Linux,在命令行输入
go env -w GOOS=linux
2、设置GOARCH为arm64
go env -w GOARCH=arm64
3、设置GOARM为7,注意为什么这里需要设置为7,主要是因为GOARM指定了应用程序的处理器架构,具体的取值取决于处理器的要求。在ARM架构下,设置为7通常表示使用较新的ARM处理器指令集和特性
go env -w GOARM=7
4、环境设置完成后输入 go env查看环境变量是否设置正确,如下图所示
5、执行打包命令
go build -o GL
其中GL为你的打包文件名
二、安卓手机安装termux
Termux是一款能直接调用安卓的linux内核的软件,我们需要通过该工具完成后端项目的部署。
安装包下载链接(百度云):https://pan.baidu.com/s/1U05cwdxntJ8ylS44cwgS2w?pwd=38mo
APK安装很简单,注意权限拉满就行,安装完成后需要按以下步骤配置环境
1.更换为国内源
进入termux后,输入termux-change-repo会弹出以下弹窗更换国内下载源,按下图所选即可
换完源之后再更新默认安装包输入pkg upgrade
然后再执行一次termux-change-repo,选择中国区
2.安装ssh远程访问
这步也是非常重要,能实现在电脑端接入手机的命令行,毕竟手机操作命令行属实的过于难受了。
安装openssh命令
pkg install openssh
安装完成后设置用户密码
passwd
按照命令行的提示输入两次密码即可
输入完成后再输入sshd,没有任何回馈就说明启动成功了。
启动成功后再输入ifconfig查看当前ip地址,一般使用带wlan的ip,该地址通常为局域网内部地址,只要电脑和手机在同一网段下,都能通过这个地址进行数据互通。