- Notifications
You must be signed in to change notification settings - Fork383
A simple client for Android
License
xxf098/shadowsocksr-v2ray-trojan-android
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A fully featuredShadowsocksR,V2Ray andTrojan client for Android, written in Scala.
- A really fast proxy
- JDK 1.8
sudo apt-get install openjdk-8-jdkexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64export PATH=$PATH:$JAVA_HOME/bin java -version
- SBT0.13.8
- Android SDK
- Build Tools 30+
- Android Support Repository and Google Repository (see
build.sbt
for version)
- Android NDK r21e+
Warnning: Cannot build in windows
DownloadAndroid Studio
DownloadAndroid NDK r20b
InstallScala plugin for IntelliJ IDEA
Set proxy for Android Studio:
File | Settings | Appearance & Behavior | System Settings | HTTP Proxy
Set proxy for sbt:File | Settings | Build, Execution, Deployment | Build Tools | sbt
, inVM parameters
input:-Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8080 -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8080
Set environment variable
ANDROID_HOME
to/path/to/Android/Sdk
Set environment variable
ANDROID_NDK_HOME
to/path/to/Android/android-ndk-r21e
Create your key following the instructions athttps://developer.android.com/studio/publish/app-signing.html
Put your key in ~/.keystore or any other place
Create
local.properties
fromlocal.properties.example
with your own key informationkey.alias: abc key.store: /path/to/Android/abc.jks key.store.password: abc
if you installed multiple versions of Java, use
sudo update-alternatives --config java
to select Java 8Before build apk, make sure inside
./project/build.properties
, sbt.version=0.13.18Invoke the building like this
export https_proxy=http://127.0.0.1:8080# !importantexport ANDROID_HOME=/path/to/Android/Sdkexport ANDROID_NDK_HOME=/path/to/Android/android-ndk-r20b# install and update all git submodule git submodule update --init# cd ./src/main/jni/shadowsocks-libev && git checkout Akkariiin/master# Build the App and fix the problems as the error messages indicated sbt native-build clean android:package-release# run app sbt android:run
If you use x64 linux like Archlinux x86_64, or your linux have new version ncurses lib, you may need install the 32bit version ncurses and link it as follow (make sure all these *.so files in the right location under your system, otherwise you have to copy them to /usr/lib/ and /usr/lib32/ directory):
# use Archlinux x86_64 as example# install ncurses x64 and x86 version sudo pacman -S lib32-ncurses ncurses# link the version-6 ncurses to version-5 sudo ln -s /usr/lib/libncursesw.so /usr/lib/libncurses.so.5 sudo ln -s /usr/lib32/libncursesw.so /usr/lib32/libncurses.so.5# link libncurses to libtinfo sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5 sudo ln -s /usr/lib32/libncurses.so.5 /usr/lib32/libtinfo.so.5
Checkout thislink
- rm -rf ~/.android/sbt/exploded-aars/*
- In Project Settings -> Modules -> shadowsocksr-v2ray-trojan-android, change
Structure
,Generated Sources
to correct file path - In Run/Debug Configuration -> Before launch, replace
Gradle-aware Make
withandroid:run
- 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 athttp://developer.android.com/guide/publishing/app-signing.html#cert
- Put your key in ~/.keystore
- Create
local.properties
fromlocal.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
- shadowsocks-libev:GPLv3
- tun2socks:BSD
- redsocks:APL 2.0
- OpenSSL:OpenSSL
- pdnsd:GPLv3
- libev:GPLv2
- libevent:BSD
- v2ray-core:BSD
- go-tun2socks:BSD
This program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.
You should have received a copy of the GNU General Public Licensealong with this program. If not, seehttp://www.gnu.org/licenses/.
About
A simple client for Android
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.