Mygod c480137dec Remove .aidl.Config and persisting SharedPreferences (#742)
Previously a profile can exist in the following forms:

* `.database.Profile` used for everything backend;
* `.ShadowsocksSettings` which uses Preferences to provide UI to tweak settings;
* `.aidl.Config` used for IPC;
* `<data dir>/shared_pref/com.github.shadowsocks_preferences.xml` which exists for no apparent reason.

Thus long code block can be seen whose purpose is simply converting the data from one form to another. This commit intends to remove the latter two by:

1. Using profile ID and take advantage of fs r/w lock SQLite uses for IPC and better extensibility;
2. Stop persisting redundant fields in the preferences file and update database directly.
2016-07-05 01:07:09 -05:00
2016-07-03 17:27:50 +08:00
2016-07-03 18:37:09 +08:00
2016-07-01 14:40:40 +08:00
2015-11-07 10:43:51 +08:00
2016-07-03 18:37:09 +08:00
2016-06-17 16:22:05 +08:00
2016-07-01 16:49:07 +08:00
2015-07-24 18:56:01 +08:00
2016-05-20 20:26:58 +08:00
2013-05-20 16:13:03 +08:00
2013-05-06 18:59:28 +08:00
2016-06-17 16:16:21 +08:00
2014-02-22 17:34:18 +08:00
2014-02-25 10:22:51 +08:00
2014-06-08 12:45:32 +08:00

Shadowsocks for Android

A shadowsocks client for Android, written in Scala.

CI STATUS

Build Status

PREREQUISITES

  • JDK 1.8
  • SBT 0.13.0+
  • Android SDK r25+
  • Android NDK r10d+

BUILD

  • Set environment variable ANDROID_HOME to /path/to/android-sdk
  • Set environment variable ANDROID_NDK_HOME to /path/to/android-ndk
  • Create your key following the instructions at https://developer.android.com/studio/publish/app-signing.html
  • Put your key in ~/.keystore
  • Create local.properties from local.properties.example with your own key information
  • Invoke the building like this
    git submodule update --init
    
    # Build the App
    sbt native-build 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/$version to your .bashrc , then reopen the shell to load it.
  • Add export ANDROID_NDK_HOME=/usr/local/Cellar/android-ndk/$version to 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.properties from local.properties.example with 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

LICENSE

Copyright (C) 2016 by Max Lv <max.c.lv@gmail.com>
Copyright (C) 2016 by Mygod Studio <mygodstudio@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/.

S
Description
No description provided
Readme
63 MiB
Languages
Kotlin 78.8%
C 8.4%
Makefile 3.6%
Gradle 2.8%
HTML 1.6%
Other 4.7%