Add submodules for kcptun
This commit is contained in:
+1
-2
@@ -14,6 +14,7 @@ gen_*
|
||||
*.class
|
||||
*.o
|
||||
local.sbt
|
||||
.deps
|
||||
|
||||
#Intellij IDEA
|
||||
*.iml
|
||||
@@ -27,7 +28,5 @@ out/
|
||||
src/main/obj
|
||||
src/main/libs
|
||||
src/main/assets/armeabi-v7a/*
|
||||
!src/main/assets/armeabi-v7a/kcptun
|
||||
src/main/assets/x86/*
|
||||
!src/main/assets/x86/kcptun
|
||||
jni/Application.mk
|
||||
|
||||
@@ -24,3 +24,9 @@
|
||||
path = src/main/jni/pdnsd
|
||||
url = https://github.com/shadowsocks/pdnsd.git
|
||||
branch = shadowsocks-android
|
||||
[submodule "kcptun/kcptun"]
|
||||
path = kcptun/kcptun
|
||||
url = https://github.com/shadowsocks/kcptun
|
||||
[submodule "kcptun/go"]
|
||||
path = kcptun/go
|
||||
url = https://github.com/shadowsocks/go
|
||||
|
||||
@@ -31,6 +31,7 @@ install:
|
||||
- ./travis-ci/setup.sh
|
||||
- export NDK_CCACHE=ccache
|
||||
- export ARCH=`uname -m`
|
||||
- export GOROOT_BOOTSTRAP=$HOME/.android/go
|
||||
- export ANDROID_NDK_HOME=$HOME/.android/android-ndk-r12b
|
||||
- export ANDROID_HOME=$HOME/.android/android-sdk-linux
|
||||
- export PATH=${ANDROID_NDK_HOME}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:${PATH}
|
||||
|
||||
@@ -12,6 +12,7 @@ A [shadowsocks](http://shadowsocks.org) client for Android, written in Scala.
|
||||
|
||||
* JDK 1.8
|
||||
* SBT 0.13.0+
|
||||
* GO 1.4+
|
||||
* Android SDK r25+
|
||||
* Android NDK r12b+
|
||||
|
||||
@@ -19,6 +20,7 @@ A [shadowsocks](http://shadowsocks.org) client for Android, written in Scala.
|
||||
|
||||
* Set environment variable `ANDROID_HOME` to `/path/to/android-sdk`
|
||||
* Set environment variable `ANDROID_NDK_HOME` to `/path/to/android-ndk`
|
||||
* Set environment variable `GOROOT_BOOTSTRAP` to `/path/to/go`
|
||||
* 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
|
||||
@@ -26,33 +28,11 @@ A [shadowsocks](http://shadowsocks.org) client for Android, written in Scala.
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
git submodule update --init
|
||||
|
||||
# Build native binaries
|
||||
./build.sh
|
||||
|
||||
# Build the apk
|
||||
sbt clean android:package-release
|
||||
```
|
||||
|
||||
## OPEN SOURCE LICENSES
|
||||
|
||||
* shadowsocks-libev: [GPLv3](https://github.com/shadowsocks/shadowsocks-libev/blob/master/LICENSE)
|
||||
|
||||
@@ -4,6 +4,10 @@ function try () {
|
||||
"$@" || exit -1
|
||||
}
|
||||
|
||||
pushd kcptun
|
||||
try ./make.bash
|
||||
popd
|
||||
|
||||
try pushd src/main
|
||||
|
||||
# Build
|
||||
|
||||
Submodule
+1
Submodule kcptun/go added at 3549a9d374
Submodule
+1
Submodule kcptun/kcptun added at eced3949b2
Executable
+66
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
function try () {
|
||||
"$@" || exit -1
|
||||
}
|
||||
|
||||
[ -z "$ANDROID_NDK_HOME" ] && ANDROID_NDK_HOME=~/android-ndk-r12b
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
DEPS=$DIR/.deps
|
||||
ANDROID_ARM_TOOLCHAIN=$DEPS/android-toolchain-16-arm
|
||||
ANDROID_X86_TOOLCHAIN=$DEPS/android-toolchain-16-x86
|
||||
|
||||
ANDROID_ARM_CC=$ANDROID_ARM_TOOLCHAIN/bin/arm-linux-androideabi-gcc
|
||||
ANDROID_ARM_STRIP=$ANDROID_ARM_TOOLCHAIN/bin/arm-linux-androideabi-strip
|
||||
|
||||
ANDROID_X86_CC=$ANDROID_X86_TOOLCHAIN/bin/i686-linux-android-gcc
|
||||
ANDROID_X86_STRIP=$ANDROID_X86_TOOLCHAIN/bin/i686-linux-android-strip
|
||||
|
||||
|
||||
if [ ! -d "$DEPS" ]; then
|
||||
mkdir -p $DEPS
|
||||
fi
|
||||
|
||||
if [ ! -d "$ANDROID_ARM_TOOLCHAIN" ]; then
|
||||
echo "Make standalone toolchain for ARM arch"
|
||||
$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py --arch arm \
|
||||
--api 16 --install-dir $ANDROID_ARM_TOOLCHAIN
|
||||
fi
|
||||
|
||||
if [ ! -d "$ANDROID_X86_TOOLCHAIN" ]; then
|
||||
echo "Make standalone toolchain for X86 arch"
|
||||
$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py --arch arm \
|
||||
$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py --arch x86 \
|
||||
--api 16 --install-dir $ANDROID_X86_TOOLCHAIN
|
||||
fi
|
||||
|
||||
if [ ! -d "$DIR/go/bin" ]; then
|
||||
echo "Build the custom go"
|
||||
|
||||
pushd $DIR/go/src
|
||||
try ./make.bash
|
||||
popd
|
||||
fi
|
||||
|
||||
export GOROOT=$DIR/go
|
||||
export GOPATH=$DIR/kcptun
|
||||
export PATH=$GOROOT/bin:$PATH
|
||||
|
||||
pushd kcptun/client
|
||||
|
||||
echo "Get dependences for kcptun"
|
||||
go get
|
||||
|
||||
echo "Cross compile kcptun for arm"
|
||||
try env CGO_ENABLED=1 CC=$ANDROID_ARM_CC GOOS=android GOARCH=arm GOARM=7 go build
|
||||
try $ANDROID_ARM_STRIP client
|
||||
try mv client $DIR/../src/main/assets/armeabi-v7a/kcptun
|
||||
|
||||
echo "Cross compile kcptun for x86"
|
||||
try env CGO_ENABLED=1 CC=$ANDROID_X86_CC GOOS=android GOARCH=386 go build
|
||||
try $ANDROID_X86_STRIP client
|
||||
try mv client $DIR/../src/main/assets/x86/kcptun
|
||||
popd
|
||||
|
||||
echo "Successfully build kcptun"
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,10 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
export ARCH=`uname -m`
|
||||
export GOROOT_BOOTSTRAP=.android/go
|
||||
export ANDROID_NDK_HOME=$HOME/.android/android-ndk-r12b
|
||||
export ANDROID_HOME=$HOME/.android/android-sdk-linux
|
||||
export PATH=${ANDROID_NDK_HOME}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:${PATH}
|
||||
|
||||
if [ ! -d "$GOROOT_BOOTSTRAP" ]; then
|
||||
wget https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz
|
||||
tar xvf go1.6.3.linux-amd64.tar.gz
|
||||
mv go .android/
|
||||
fi
|
||||
|
||||
if [ ! -d "$ANDROID_HOME" ]; then
|
||||
mkdir -p $ANDROID_HOME
|
||||
pushd $HOME/.android
|
||||
|
||||
Reference in New Issue
Block a user