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. Unicode与UTF-8互转(C语言实现)

    1. 基础 1.1 ASCII码 我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制 位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这 ...

  2. javascript的面向对象编程

    面象对象编程技术的核心理念:封装.继承.多态:在一些主流的高级编程语言中,比如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接 ...

  3. PHP验证码的制作

    <?phpsession_start();   //??session//?建随机?,并保存在session中for($i=0;$i<4;$i++){$_nmsg.=dechex(mt_r ...

  4. java 反射,注解,泛型,内省(高级知识点)

     Java反射 1.Java反射是Java被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运行时透过Reflection APIs    取得任何一个已知名称的class的内部信息, 包括 ...

  5. mht文件无法打开的解决办法

    对于喜欢上网的人士来说,经常会将自己看到的好的文章保存下来,以便日后再次翻阅,保存方法有两种:一种是通过浏览器的收藏夹进行收藏,这种方式适合于能够一直上网的电脑:另一种是通过浏览器“文件->另存 ...

  6. [日历] C#修改CNDate日历帮助类 (转载)

    点击下载 CNDate.rar 主要功能如下 .传回公历y年m月的总天数 .根据日期值获得周一的日期 .获取农历 #region 私有方法 private static long[] lunarInf ...

  7. [综合|基础|语法] 最新的皮肤帮助类 UI_Misc_Helper (转载)

    using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace ...

  8. Update Statistics用法

    Update Statistics语句的作用将创建的数据库表的有关统计信息更新到系统 sysmater的相关表中,以便查询优化器选择最佳的执行路径,当sysmaster库中没有相应的统计信息,或者统计 ...

  9. 详细介绍Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  10. oracle session 相关优化

    导读: 同学们是不是都用遇到过这种情况,一个业务系统开发期业务并发量只是估算一个值,而系统上线后这个并发量可能会出现溢出或是不够的   情况.在这种情况下我们DBA怎么给出合理的性能优化建议呢?本文就 ...