Some inspiration from:

https://github.com/shadowsocks/shadowsocks-android/blob/master/.travis.yml