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中添加如下代码(红色代码):
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的更多相关文章
- Qt5.12.2开发Android环境搭建
Qt-Android开发环境概要qt-opensource-windows-x86-5.12.2----armv7jdk-8u201-windows-x64android-ndk-r18b-windo ...
- C#开发Android环境搭建
目前破解比较稳定的版本(我亲自尝试过的)是4.2. wuleba上的4.6,4.8,4.10 破解均会出现各种问题. 1 当前电脑账户最好是使用英文账号,而不要使用汉字,否则路径会出现乱码问题. 2 ...
- windows中用eclipse开发Android环境搭建SDK安装异常
SDK更新时的“https://dl-ssl.google.com refused”错误 Download interrupted: hostname in certificate didn't ma ...
- paip.android环境搭建与开发事例
paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax , EMAIL:1466519819 ...
- Android 环境搭建
一.Android 环境搭建 开发工具: Android Studio(开发工具,前提是先装 java JDK) 下载地址:http://www.androiddevtools.cn/ Oracl ...
- android环境搭建——工欲善其事,必先利其器 2
前两天鼓捣android, 搭建环境,不想麻烦就用了 adt-bundle-windows-x86-20140702. rar , 起个模拟器哇塞,太爽了. 出去转一圈唠会回来正好启动成功!有个网友 ...
- React-native Android环境搭建
基础安装 安装Homebrew Homebrew是Mac OSX的包管理器,我们需要通过Homebrew安装开发React Native的相关软件包. 如果不知道怎样安装Homebrew可以点这里:官 ...
- Android基础学习:Android环境搭建
在3年前,自学过Android的一些基础知识,但是那个时候Linux等其他的知识结构比较薄弱,理解得不是很深刻,后来因项目变动的原因,没有再搞Android相关的东西了.时过境迁,还是因为项目变动,重 ...
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
随机推荐
- VC++深入详解-第一章学习心得(二)
前面介绍到了注册窗口,接下来进行窗口的创建,利用CreateWindow函数,结构如下 CreateWindowExW( DWORD dwExStyle, LPCWSTR lpClassName, / ...
- 【AOS应用基础平台】完好了AOS标签库,和标准标签库完美兼容了
[金码坊AOS开发平台]今天①完好了AOS标签库,和标准标签库完美兼容了.②新开发了依据子页面动态生成主页面的二级导航菜单功能.#AOS开发平台#
- Swift 析构器deinit
析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用.析构器用关键字deinit来标识,类似于构造器用init来标识. 原理: Swift会自动释放不再需要的实例以释放资源.Swift通 ...
- mybatis02 架构
SqlMapConfig.xml(mybatis全局配置文件加载mybatis环境(数据源,事物,mapper.xml(配置sql语句),),类似于hibernate的全局配置文件,用于加载hiber ...
- mysql 超时设置
在Mysql的默认设置中,如果一个数据库连接超过8小时没有使用(闲置8小时,即 28800s),mysql server将主动断开这条连接,后续在该连接上进行的查询操作都将失败,将 出现: ...
- linux之ioctl函数解析
[lingyun@localhost ioctl_1]$ ls ipconfig.c [lingyun@localhost ioctl_1]$ cat ipconfig.c /*********** ...
- Base64算法
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/4288372.html ...
- Python学习入门教程,字符串函数扩充详解
因有用户反映,在基础文章对字符串函数的讲解太过少,故写一篇文章详细讲解一下常用字符串函数.本文章是对:程序员带你十天快速入门Python,玩转电脑软件开发(三)中字符串函数的详解与扩充. 如果您想学习 ...
- 核心运营报表无线端数据,pv,uv相关数据,从9月1号开始就没了,为什么?
问题现象截图 核心运营报表 从获取数据的api的地址可以看出: http://data.51buy.com/json.php?biz=statistic&mod=OrderKeyData&am ...
- volatile用处说明
在JDK1.2之前,Java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的.而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要. 在当前 ...