Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A simple client for Android

License

NotificationsYou must be signed in to change notification settings

xxf098/shadowsocksr-v2ray-trojan-android

Repository files navigation

A fully featuredShadowsocksR,V2Ray andTrojan client for Android, written in Scala.

buildGitHub releaseGitHub issues

PREREQUISITES

  • 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 (seebuild.sbt for version)
  • Android NDK r21e+

BUILD with Android Studio

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 variableANDROID_HOME to/path/to/Android/Sdk

  • Set environment variableANDROID_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

  • Createlocal.properties fromlocal.properties.example with your own key information

      key.alias: abc  key.store: /path/to/Android/abc.jks  key.store.password: abc
  • if you installed multiple versions of Java, usesudo update-alternatives --config java to select Java 8

  • Before build apk, make sure inside./project/build.properties, sbt.version=0.13.18

  • Invoke 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

Integration with Android Studio

Checkout thislink

  • rm -rf ~/.android/sbt/exploded-aars/*
  • In Project Settings -> Modules -> shadowsocksr-v2ray-trojan-android, changeStructure,Generated Sources to correct file path
  • In Run/Debug Configuration -> Before launch, replaceGradle-aware Make withandroid:run

BUILD on Mac OS X (with HomeBrew)

  • Install Android SDK and NDK by runbrew install android-ndk android-sdk
  • Addexport ANDROID_HOME=/usr/local/Cellar/android-sdk/$version to your .bashrc , then reopen the shell to load it.
  • Addexport 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
  • Createlocal.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

OPEN SOURCE LICENSES

LICENSE

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/.


[8]ページ先頭

©2009-2025 Movatter.jp