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中添加如下代码(红色代码):

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

  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

golang开发android环境搭建_window的更多相关文章

  1. Qt5.12.2开发Android环境搭建

    Qt-Android开发环境概要qt-opensource-windows-x86-5.12.2----armv7jdk-8u201-windows-x64android-ndk-r18b-windo ...

  2. C#开发Android环境搭建

    目前破解比较稳定的版本(我亲自尝试过的)是4.2. wuleba上的4.6,4.8,4.10 破解均会出现各种问题. 1 当前电脑账户最好是使用英文账号,而不要使用汉字,否则路径会出现乱码问题. 2 ...

  3. windows中用eclipse开发Android环境搭建SDK安装异常

    SDK更新时的“https://dl-ssl.google.com refused”错误 Download interrupted: hostname in certificate didn't ma ...

  4.  paip.android环境搭建与开发事例

    paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax ,  EMAIL:1466519819 ...

  5. Android 环境搭建

    一.Android 环境搭建 开发工具: Android Studio(开发工具,前提是先装 java JDK) 下载地址:http://www.androiddevtools.cn/   Oracl ...

  6. android环境搭建——工欲善其事,必先利其器 2

    前两天鼓捣android, 搭建环境,不想麻烦就用了  adt-bundle-windows-x86-20140702. rar , 起个模拟器哇塞,太爽了. 出去转一圈唠会回来正好启动成功!有个网友 ...

  7. React-native Android环境搭建

    基础安装 安装Homebrew Homebrew是Mac OSX的包管理器,我们需要通过Homebrew安装开发React Native的相关软件包. 如果不知道怎样安装Homebrew可以点这里:官 ...

  8. Android基础学习:Android环境搭建

    在3年前,自学过Android的一些基础知识,但是那个时候Linux等其他的知识结构比较薄弱,理解得不是很深刻,后来因项目变动的原因,没有再搞Android相关的东西了.时过境迁,还是因为项目变动,重 ...

  9. Python开发:环境搭建(python3、PyCharm)

    Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))

随机推荐

  1. 阿里云部署Docker(7)----将容器连接起来

    路遥知马力.日久见人心.恩. 该坚持的还是要坚持. 今天看到一个迅雷的师弟去了阿里,祝福他,哎,尽管老是被人家捧着叫大牛.我说不定通过不了人家的面试呢.哎,心有惭愧. 本文为本人原创,转载请表明来源: ...

  2. go 初使用

    hello.go package main import "fmt" func main(){ fmt.Println("hello world") 直接运行 ...

  3. careercup-栈与队列 3.5

    3.5 实现一个MyQueue类,该类用两个栈来实现一个队列. 解答 队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO), 用两个栈来实现队列的最简单方式是:进入队列则往第一个栈 ...

  4. epoll使用实例说明

    之前一直在讲如何epoll如何好用,但是并没有实例来演示epoll的使用,下面我们就看一个服务器端使用epoll监听大量并发链接的例子. 首先看一下epoll的几个函数的介绍.1.epoll_crea ...

  5. Visual Studio 调试技巧 (三) -- 调试第三方组件代码

    上次我们提到,没有源代码而且没有调试符号,我们也可以 Debug.有人可能会问,我什么时候需要在这种情况下调试吗?! 是的.比方说,我们用了某些第三方的组件,这些组件里面难免也会有 Bug.就算是微软 ...

  6. Linux如何卸载挂载文件

    在我们进行远程文件操作的时候,我们经常会出现文件服务出现卸载掉哦情况.例如 umount /mnt/net1umount: /mnt/net1: device is busy.        (In ...

  7. Command Line-Version (SetACL.exe) – Syntax and Description

    For a quick start, tell SetACL the following: Object name (-on): This is the path to the object SetA ...

  8. 11.12 noip模拟试题

    题目名称 加密 冒泡排序图 重建可执行文件名 encrypt bubble rebuild输入文件名 encrypt.in bubble.in rebuild.in输出文件名 encrypt.in b ...

  9. C++ 常见问题

    1:保证编译后方法名不被修改:  The: extern "C" { function declarations here in h file } will disable C++ ...

  10. (转)C#中Trim()、TrimStart()、TrimEnd()的用法 .

    C#中Trim().TrimStart().TrimEnd()的用法: 这三个方法用于删除字符串头尾出现的某些字符.Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格 ...