A shadowsocks client for Android, written in Kotlin.
- JDK 1.8
- Go 1.10+
- Android SDK
- Build Tools 27+
- Android NDK r16+
- Set environment variable
ANDROID_HOME
to/path/to/android-sdk
- (optional) Set environment variable
ANDROID_NDK_HOME
to/path/to/android-ndk
(default:$ANDROID_HOME/ndk-bundle
) - Set environment variable
GOROOT_BOOTSTRAP
to/path/to/go
($GOROOT
) - 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
# debug
./gradlew assembleDebug check
# release
./gradlew assembleRelease
Build signed apk
# Add your keystore info to env:
export STORE_FILE="file_path"
export STORE_PASSWORD="yourpassword"
export KEY_ALIAS="youralias"
export KEY_PASSWORD="yourpassword"
./gradlew assembleRelease -Pandroid.injected.signing.store.file=$STORE_FILE -Pandroid.injected.signing.store.password=$STORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
Outputs:
mobile/build/outputs/apk
├── debug
│ ├── mobile-arm64-v8a-debug.apk
│ ├── mobile-armeabi-v7a-debug.apk
│ ├── mobile-universal-debug.apk
│ ├── mobile-x86-debug.apk
│ └── output.json
└── release
├── mobile-arm64-v8a-release.apk
├── mobile-armeabi-v7a-release.apk
├── mobile-universal-release.apk
├── mobile-x86-release.apk
└── output.json
- redsocks: APL 2.0
- mbed TLS: APL 2.0
- libevent: BSD
- tun2socks: BSD
- pcre: BSD
- libancillary: BSD
- shadowsocks-libev: GPLv3
- overture: MIT
- 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>
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/.