go for android编译指南

去年12月中旬,go已经正式支持android平台!虽然,目前只是初步支持,相应的开发还在紧罗密鼓的进行中。但是仍然挡不住试用一把的冲动。目前go的代码是通过java的jni接口来调用的,go的代码会被编译成so动态库,会在编译的时候包含到apk中。下面来看看怎么在android平台来编译go的代码 。

先从下载的连接下载代码:

https://github.com/golang/mobile

由于go for android的开发环境搭建目前比较麻烦,go for android的开发者已经为我们提供了一个docker的image(docker的安装可以参考《docker
使用总结
》),可以用下面的命令下载:

docker pull golang/mobile

运行mobile的容器:

docker run -it --rm -v /home/my/go/mobile-master:/go_mobile golang/mobile /bin/bash

这里假设下载下来的go for android的代码的路径为:/home/my/go/mobile-master,这条命令会把/home/my/go/mobile-master影射到容器的/go_mobile目录。

接下来在$GOROOT/src/golang.org/x/创建/go_mobile的符号连接mobile

mkdir -p $GOROOT/src/golang.org/x

ln -s /go_mobile $GOROOT/src/golang.org/x/mobile

编译libhello示例代码:

cd  $GOROOT/src/golang.org/x/mobile/example/libhello

./make.bash

连接到设备:

adb connect xx.xx.xx.xx

安装:

adb install bin/Hello-debug.apk

接下来就是运行了。

总结:目前go for android只做到了go代码在android平台的简单运行,要想真正的用go在android平台上进行像游戏开发等等,还有很多工作要做。

时间: 2024-12-19 05:20:36

go for android编译指南的相关文章

CyanogenMod 11.0 android 4.4 编译指南

从公司断断续续下载了3天,终于把CM-11.0 的代码给下载下来了,分享一下下载编译rom包的过程. 一 前置条件1 ubuntu 13.04 系统,同时配置好android的编译环境   配置方法详见  http://source.android.com/source/initializing.html 网页 2 下载源码 特别注意: 由于cm-11.0的代码巨大,下载完成 .repo隐藏文件夹下大概有10G,再一git fetch真正的           代码文件,大概有将近30G,然后再

微信Android接入指南

注:本文为微信Android终端开发工具的新手使用教程,只涉及教授SDK的使用方法,默认读者已经熟悉IDE的基本使用方法(本文以Eclipse为例),以及具有一定的编程知识基础等. 1.申请你的AppID 请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发. 2.下载微信终端开发工具包 开发工具包主要包含3部分内容:(其中,只有libammsdk.jar是必须的) - libammsdk.jar(每个第三方应用必须要导入该sdk库,

Cocos2d-x3.3RC0的Android编译Activity启动流程分析

本文将从引擎源代码Jni分析Cocos2d-x3.3RC0的Android Activity的启动流程,以下是具体分析. 1.引擎源代码Jni.部分Java层和C++层代码分析 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXV4aWt1b18x/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > watermark/2/text/aHR0cDov

[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

本文转载自:[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历.先上图,Ubuntu上编译完后成功运行模拟器,如图: 2 编译环境 UbuntuKylin 16.04 LTS Android 6.0_r1 Open JDK 7 3 准备工作 (1) 下载android 6.0源码.

Android 编译错误/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../

编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when searching for -lz错误 ============================================ PLATFORM_VERSION_CODENAME=AOSP PLATFORM_VERSION=AOSP TARGET_PRODUCT=generic TARGET_BUIL

《Android学习指南》文件夹

转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描写叙述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先看Android的课程,这样会非常累. 1.Android学习指南基础篇 对于有Java基础的朋友,能够通过本分类60讲左右的课程,打下比較坚实的基础. 2.Android学习指南项目实训篇 对于学过"1.Android2.2学习指南基础篇"的朋友,能够通过本分类项目的联系,加深对基础

转: 加快Android编译速度

转: http://timeszoro.xyz/2015/11/25/%E5%8A%A0%E5%BF%ABandroid%E7%BC%96%E8%AF%91%E9%80%9F%E5%BA%A6/ 加快Android编译速度 发表于 2015-11-25   | 对于Android开发者而言,随着工程不断的壮大,Android项目的编译时间也逐渐变长,即便是有时候添加一行代码也需要等待好久才能看见期待的效果.之前加快Android编译的工具相对较少,其中最具有代表性的开源项目当属FaceBook的

Android编译详解之lunch命令 【转】

本文转载自: Android编译详解之lunch命令 (2012-10-08 10:27:55) 转载▼ 标签: it 分类: android内核剖析 Android的优势就在于其开源,手机和平板生产商可以根据自己的硬件进行个性定制自己的手机产品,如小米,LePhone,M9等,因此,在我们在对Android的源码进行定制的时候,很有必要了解下,Android的编译过程. 如果你从来没有做过Android代码的编译,那么最官方的编译过程就是查看Android的官方网站:http://source

Android——编译odex保护

编译过android源码的可能试验过修改编译类型,android的初始化编译配置可参考http://blog.csdn.net/jscese/article/details/23931159 一.TARGET_BUILD_VARIANT=user 当选择的编译类型为user的时候,可以在/build/core/main.mk中看到(android 4.2): # Turn on Dalvik preoptimization for user builds, but only if not # e