Gomobile 编译jni库 实用 Android和iOS 两端

0x01–what

gomobile是golang 开发的移动端工具。

其中一些功能如下 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
╭─apanda atxx的MacBook Pro in ~/MEGAsync/Projects/GoProjects/src/github.com/golang/mobile/cmd/gomobile on master✔ using ‹› 18-04-04 - 11:13:46
╰─○ tree
.
├── binary_xml.go
├── binary_xml_test.go
├── bind.go
├── bind_androidapp.go
├── bind_iosapp.go
├── bind_test.go
├── build.go
├── build_androidapp.go
├── build_darwin_test.go
├── build_iosapp.go
├── build_test.go
├── cert.go
├── cert_test.go
├── clean.go
├── dex.go
├── doc.go
├── env.go
├── gendex.go
├── init.go
├── init_test.go
├── install.go
├── main.go
├── manifest.go
├── strings_flag.go
├── version.go
├── writer.go
└── writer_test.go

Golang 交叉编译笔记

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。

Mac 下编译 Linux 和 Windows 64位可执行程序

1
2
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

CentOS7安装iptables防火墙

CentOS7安装iptables防火墙

CentOS7默认的防火墙不是iptables,而是firewalle.

安装iptable iptable-service

1
2
3
4
5
6
7
8
#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables
#安装iptables-services
yum install iptables-services

使用AndroidStudio进行NDK开发(一)

在AndroidStudio中进行开发比起以往的Eclipse要方便的多,下面来介绍下如何使用AndroidStudio这个IDE工具实现相关开发工作。

  1. 准备工作

在实际写代码之前,首先我们还是需要做一些准备工作:

下载开发包:Android官方下载页面
配置系统环境变量
下载好开发包之后,直接解压到任意目录,然后需要配置一下系统环境变量,之所以要配置环境变量,是为了方便使用命令ndk-build脚本进行编译。配置参考如下:

# 在.bash_profile中配置如下代码

export ANDROID_NDK/Users/liangqi/android-ndk
export PATH$ANDROID_NDK$PATH

# 然后执行如下代码,更新配置文件

source .bash_profile
其实编译C/C++代码不一定在AndroidStudio中,如果配置好环境变量,直接使用进入项目中的目录执行ndk-build命令即可在当前目录下生成一个的目录,里面存放了不同 平台的包,当然运行这个命令的前提是,这个目录下至少得有一个Android.mk文件,如果需要指定具体的编译平台,那么还需要添加一个Application.mk文件,当然,如果命令行让你头疼,那么你可以采用gradle的方式来解决这些问题,接下来我们将分别介绍这些使用方式。

RxJava & RxAndroid备忘

来源 <http://chenqichao.me/2015/07/01/119-Mastering-RxAndroid/> 

今天在刷G+的时候看到Dave Smith推荐了一个视频《Learning RxJava (for Android) by example》点进去看了一下,原来是位熟悉的”阿三哥”,视频封面如下:(没有歧视的意思,不要喷我啊~,为什么感到熟悉?接着往下看)

几乎同时也看到了JetBrains在G+也推荐了篇在Medium上的博文《RxAndroid And Kotlin (Part 1)》,然后想到前几天转了InfoQ上的《Kotlin:Android世界的Swift》,再加上隐约记得之前在AndroidCN看到过@hi大头鬼hi写的《深入浅出RxJava》,最后还想到了这篇《Kotlin在Android工程中的应用》,Holy shit…大脑能瞬间闪过这么多关联的文章和博文,于是把这些资料找了出来,觉得有必要把这些内容记下来,
方便日后查阅,因此有了今天这篇文章,取名叫《RxJava & RxAndroid备忘》是希望列出的参考资料能让大家尽快熟悉和掌握了RxJava和RxAndroid。

等等..还没解释为什么对这位阿三哥的声音感到熟悉呢? 其实是因为之前听过也推荐过Kaushik Gopal和他的小伙伴Donn Felker录制的关于Android开发的Podcast《FragmentedPodcast》,每一集都很精彩(目前更新到第十期),感兴趣的可以关注他们。唯一的需要克服的就是三哥的英语口音…另外,真心觉得这种类型的Podcast很不错,类似还有官方团队Chet和Tor录制的《Android Backstage》,虽然国内也有类似《内核恐慌》的技术播客,但只是针对Android或者iOS的目前并没有发现(如果你有推荐可以直接评论或者联系我),再者就是希望以后开始工作了可以找到同样感兴趣的人,可以一起来做这样有趣的事情。