使用Go语言开发Android&IOS应用

作者: llitfk_DockOne | 来源:发表于2015-09-11 15:00 被阅读23248次

使用Golang开发手机应用的具体步骤 TL:DR


1. 下载安装Go语言(版本1.5+)

Golang链接

2. 下载安装 gomobile

  • 下载
    $ go get golang.org/x/mobile/cmd/gomobile

  • 安装(需要等待几分钟)
    gomobile init

3. Golang开发手机应用有两种方式

a. 原生应用开发

$ go get -d golang.org/x/mobile/example/basic

  • 主要应用领域:

    • 应用控制管理与配置
    • OpenGL ES 2 绑定
    • Asset 管理
    • Event 管理
    • 试验中的包,含有OpenAL 绑定、音频、字体、图形以及运动传感器
  • Android开发

    • $ gomobile build -target=android golang.org/x/mobile/example/basic
      此命令会生成名为basic的apk安装包

    • $ gomobile install golang.org/x/mobile/example/basic
      此命令将安装apk包到已连接的android设备

  • IOS开发

    • $ gomobile build -target=ios golang.org/x/mobile/example/basic
      此命令会生成名为basic的app安装包

    • 下载IOS安装包命令行工具 - ios-deploy
      $ ios-deploy -b basic.app
      此命令将安装app文件到已开启的IOS模拟器或者已连接的IOS设备

b. 混合绑定开发

$ go get -d golang.org/x/mobile/example/bind/...

  • 优势

    • Go code复用
    • 在Android和IOS开发中共享通用的Go代码通过调用绑定的Golang包名
  • 限制

    • 当前仅支持的一些Go类型
    • 语言之间的绑定会有性能开销
  • Android开发

    • 开启Android studio,导入Project,选择路径$GOPATH/src/golang.org/x/mobile/example/bind/android

    • 修改配置文件hello/build.gradle

    • 最后 Build & Run <完>
      备用选项:
      $ gomobile bind -target=android golang.org/x/mobile/example/bind/hello
      此命令会在hello/路径下生成aar文件,用户可以直接在Android Studio内导入


------ 2018-05-09 更新 ------
android studio 3.0+ 支持有问题 链接
请手动构建生成aar文件, 然后加入app


  • IOS开发
    • $ cd $GOPATH/src/golang.org/x/mobile/example/bind $ gomobile bind -target=ios golang.org/x/mobile/example/bind/hello
      此命令在ios/路径下生成bind.xcodeprojxcode项目以及 在bind/目录下生成一个 hello.framework

    • 打开xcode项目
      $ open ios/bind.xcodeproj

      拖拽hello.framework文件到xcode项目内

    • 最后 Build & Run <完>


[ 获取授权 ]

相关文章

网友评论

  • Jerry_WJ:你好,我在执行bind命令生成 framework的时候,总是提示gomobile: -target=ios requires XCode,但是我mac中是安装了xcode command line tool的,为什么还会出现这个错误?
    58a945fa71ca:@Jerry_WJ 楼主,我也是你怎么解决的?
  • 02dd9939be3b:现在刚在看golang开发android,但是看官方的资料依旧没有改变多少,而且使用其中的bind示例,一直没有成功hello.aar想问一下原因
    89c8cd05fb90:同意, 我在这里折腾了一下午, 始终不能成功:joy:
    llitfk_DockOne:更新了 android studio 3.0+ 支持问题以及解决方案
    llitfk_DockOne:加我微信
  • brilliance_Liu:有复杂点的iOS的demo吗?顺便问下,go语言的语法好学吗?
    llitfk_DockOne:@brilliance_Liu 复杂的就坐等官方更新,或者搜索github看看吧,
    go语言 语法简单,值得一学
  • 微凉一季:不明觉厉
  • 8797e47705d1:Go做出来的App会不会被拒?
    8797e47705d1:@田浩浩_DockOne 是啊,算不算使用第三方API?
    bb19f132a87c:@田浩浩_DockOne 应该不会被拒。
    llitfk_DockOne:@LhiKien 被拒?你的意思是app在市场里上架?

本文标题:使用Go语言开发Android&IOS应用

本文链接:https://www.haomeiwen.com/subject/eeppcttx.html