go语言替代java做Android_[剑走偏锋] Android使用Golang代替C/C++进行Native开发

想一个好点的标题

事情是这样的: 一次Android项目开发过程中,要用到数据的加密解密,因为数据运算量比较大,所以需要用到native进行开发,但是又极不情愿去写C/C++那种既耽误时间又不好调试的语言,所以想方设法的寻找替代方案,正好最近在用Golang,寻思着,Golang不是号称速度接近C++又能快速开发的吗,所以琢磨着能不能用Golang来写Android的native部分,然后就有了一系列的踩坑过程 (这坑我踩了,剩下的你看着办吧)

想不到好标题怎么办啊

既然是用Golang开发,当然就需要用到Golang的开发环境,至于怎么搭建,你自己去找吧 (烂大街的玩意)

大致列一下需要用到的环境和SDK:

Golang SDK 1.8+

Android SDK

Android NDK

Android Studio

想个标题真麻烦

开搞

首先是写一份Golang的源码,打个比方说 hello.go

package main

import "C"

//export SayHello

func SayHello(name *C.char) *C.char{

return C.CString("Hello : " + name)

}

//export Sum

func Sum(a int, n int) int {

return a + n

}

func main(){

// 这个主方法一定要写,不然不给编译

}

是不是觉得一脸懵逼,那么有必要解释一下

import "C" 这个是要告诉CGO

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值