If call notify() after startForeground() on the same notification id, the service becomes not that "foreground" and would be killed by system if the activity is removed from the recent list.
Shadowsocks for Android
A shadowsocks client for Android, written in Scala.
Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
CI STATUS
PREREQUISITES
- JDK 1.7
- SBT 0.13.0+
- Android SDK r24+
- Android NDK r10d+
BUILD
- Set environment variable
ANDROID_HOMEto/path/to/android-sdk - Set environment variable
ANDROID_NDK_HOMEto/path/to/android-ndk - Create your key following the instructions at http://developer.android.com/guide/publishing/app-signing.html#cert
- Put your key in ~/.keystore
- Create
local.propertiesfromlocal.properties.examplewith your own key information - Invoke the building like this
git submodule update --init
# Build native binaries
./build.sh
# Build the App
sbt clean android:package-release
BUILD on Mac OS X (with HomeBrew)
- Install Android SDK and NDK by run
brew install android-ndk android-sdk - Add
export ANDROID_HOME=/usr/local/Cellar/android-sdk/$versionto your .bashrc , then reopen the shell to load it. - Add
export ANDROID_NDK_HOME=/usr/local/Cellar/android-ndk/$versionto your .bashrc , then reopen the shell to load it. - echo "y" | android update sdk --filter tools,platform-tools,build-tools-23.0.2,android-23,extra-google-m2repository --no-ui -a
- echo "y" | android update sdk --filter extra-android-m2repository --no-ui --no-https -a
- Create your key following the instructions at http://developer.android.com/guide/publishing/app-signing.html#cert
- Put your key in ~/.keystore
- Create
local.propertiesfromlocal.properties.examplewith your own key information . - Invoke the building like this
git submodule update --init
# Build native binaries
./build.sh
# Build the apk
sbt clean android:package-release
OPEN SOURCE LICENSES
- shadowsocks-libev: GPLv3
- tun2socks: BSD
- redsocks: APL 2.0
- OpenSSL: OpenSSL
- pdnsd: GPLv3
- libev: GPLv2
- libevent: BSD
LICENSE
Copyright (C) 2015 Max Lv max.c.lv@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/.
