- JDK 1.8
- Android SDK
- Android NDK
The original version, which what this repository forked from, uses Firebase to help analyze the statistics about the app. However, Firebase is part of Google Play Services. Therefore I removed Firebase and use Fabric only, though they will be the same thing soon :(
Therefore if you want to build it by yourself you should have your own Fabric key. If you don't have one, get it here: https://get.fabric.io
Follow the installation guide, you will be told that add something to your AndroidManifest.xml
. You can see the Fabric key as the value of meta data.
Add one line fabric.key=<your api key>
to apikey.properties
at your root project directory. If you don't have this file, just create it.
If you want to enable Android Backup Service, follow this guide to register and get a key:
https://developer.android.com/google/backup/signup
Add one line android.backup.key=<your backup key>
to apikey.properties
. Or you can use my key:
AEdPqrEAAAAIrGmzkFhajWpMwNx_Hb2JMwdbxZK7GJfQovBWCw
Also create keystore.properties
at your root project directory. Your file should look like the following:
storePassword=<password of your keystore file>
keyPassword=<password of your key>
keyAlias=<alias of your key>
storeFile=<the location of your keystore file>
You can check whether the latest commit builds under UNIX environment by checking Travis status.
- Clone the repo using
git clone --recurse-submodules <repo>
or update submodules usinggit submodule update --init --recursive
- Build it using Android Studio or gradle script
mkdir build
sudo chown 3434:3434 build
docker run --rm -v ${PWD}/build:/build circleci/android:api-28-ndk bash -c "cd /build; git clone https://github.com/shadowsocks/shadowsocks-android; cd shadowsocks-android; git submodule update --init --recursive; ./gradlew assembleDebug"
If you are interested in contributing or getting involved with this project, please read the CONTRIBUTING page for more information. The page can be found here.
- redsocks: APL 2.0
- mbed TLS: APL 2.0
- zxing: APL 2.0
- QRCodeReaderView: APL 2.0
- libevent: BSD
- tun2socks: BSD
- pcre: BSD
- libancillary: BSD
- shadowsocks-libev: GPLv3
- libev: GPLv2
- libsodium: ISC
Copyright (C) 2017 by Max Lv <max.c.lv@gmail.com>
Copyright (C) 2017 by Mygod Studio <contact-shadowsocks-android@mygod.be>
Copyright (C) 2019 by Haitao Huang
<hht970222@gmail.com>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.