zoukankan      html  css  js  c++  java
  • golang开发android环境搭建_window

                                                                                   golang开发android环境搭建介绍

    一 安装依赖软件:

      git:版本管理

      go:  go开发环境(版本>=1.5),可直接下载window版的go安装包。

      android studio: android开发IDE

    二  go工具mobile安装:

      1 mkdir -p $GOPATH/src/github.com/golang; cd $GOPATH/src/github.com/golang          //$GOPATH go程序工作目录,参考go环境搭建相关知识

          2 git clone https://github.com/golang/mobile.git                                                         // 下载mobile工具代码   参考git的使用

          3 mkdir -p $GOPATH/src/golang.org/x; cp -r $GOPATH/src/github.com/golang/mobile $GOPATH/src/golang.org/x        // 将源码移至golang.org/x目录下, 由于被墙,代码移至github上

          4 cd $GOPATH/src/golang.org/x/mobile/cmd/gomobile; go build                                   // 生成gomobile.exe可执行程序, 直接在github.com目录下编译会报错

          5 可gomobile.exe加到环境变量目录,方便使用

    三 使用gomobile生成android apk以源码自带例子作说明):

      1 cd $GOPATH/src/golang.org/x/mobile/example/basic; gomobile  build                         // 使用gomobile build直接编译会生成basic.apk, 直接执行gomobile可看其相关使用说明

          2 将生成的apk直接下载模拟器或手机运行即可

    四 使用gomobile生成android sdk(以源码自带例子作说明)

         1 cd $GOPATH/src/golang.org/x/mobile/example/bind; gomobile bind -target=android ./hello       // 生成hello.aar二进制发行包

         2 使用android studio创建一个测试项目,将hello.aar拷贝到项目模块的libs目录下                                  // 参考android studio引用jar

         3 配置模块的gradle.build文件,在gradle.build中添加如下代码(红色代码):

     1 repositories {      // 配置gradle依赖库(flat依赖方式)    参考gradle依赖库的相关使用
     2     flatDir {
     3         dirs 'libs'
     4     }
     5 }
     6 
     7 dependencies {      // 该节点文件一般都会存在, 故仅最后一行为新增代码 
     8     compile fileTree(include: ['*.jar'], dir: 'libs')
     9     testCompile 'junit:junit:4.12'
    10     compile 'com.android.support:appcompat-v7:23.1.0'
    11   
    12     compile(name:'hello', ext:'aar')  
    13 }

      4 重新编译整个项目,生成build/intermediates/exploded-aar/hello目录,在此目录可找go文件对应生成的java文件

          5 在项目中直接使用build/exploded-aar/hello目录中相关接口即可实现调用go的sdk相关功能

    ps:go作为android sdk使用是有限制的,具体参考gobind相关知识,如:https://godoc.org/golang.org/x/mobile/cmd/gobind

          直接使用go开发android程序也不是很完善。 另外liunx下搭建基本类似

    gradle使用:http://blog.jobbole.com/71999/

    gomobile使用:https://github.com/golang/go/wiki/Mobile

    gomobile源码地址:https://github.com/golang/mobile

  • 相关阅读:
    665. Non-decreasing Array
    35. Search Insert Position
    CompositePattern(组合模式)-----Java/.Net
    BridgePattern(桥接模式)-----Java/.Net
    AdapterPattern(适配器模式)-----Java/.Net
    设计模式系列:原型模式(Prototype Pattern)
    设计模式系列:抽象工厂模式(Abstract Factory Pattern)
    设计模式系列:工厂方法模式(Factory Method Pattern)
    设计模式系列:简单工厂模式(Simple Factory Pattern)
    设计模式系列:单例模式(Singleton Pattern)
  • 原文地址:https://www.cnblogs.com/--xiaoyao--/p/5139612.html
Copyright © 2011-2022 走看看