Merge pull request #80 from shadowsocks/android-sdk-plugin
Update the build system to pfn/android-sdk-plugin
This commit is contained in:
@@ -28,3 +28,6 @@ src/main/libs
|
||||
src/main/assets/armeabi
|
||||
src/main/assets/armeabi-v7a
|
||||
src/main/assets/x86
|
||||
src/main/jni
|
||||
obj
|
||||
libs
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
[submodule "src/main/jni/shadowsocks"]
|
||||
path = src/main/jni/shadowsocks
|
||||
[submodule "jni/shadowsocks"]
|
||||
path = jni/shadowsocks
|
||||
url = https://github.com/madeye/shadowsocks-libev.git
|
||||
|
||||
+4
-9
@@ -2,10 +2,6 @@ language: scala
|
||||
scala:
|
||||
- 2.10.3
|
||||
before_install:
|
||||
- git clone https://github.com/madeye/android-plugin.git
|
||||
- pushd android-plugin
|
||||
- sbt publish-local
|
||||
- popd
|
||||
- sudo apt-get update
|
||||
- sudo apt-get install libc6-dev-i386
|
||||
- sudo apt-get install lib32ncurses5-dev
|
||||
@@ -22,17 +18,16 @@ before_install:
|
||||
- export ANDROID_NDK_HOME=`pwd`/android-ndk-r9d
|
||||
- export ANDROID_HOME=`pwd`/android-sdk-linux
|
||||
- export PATH=${PATH}:${ANDROID_NDK_HOME}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
|
||||
- echo "y" | android update sdk --filter tools,platform-tools,build-tools-19.0.3,android-16 --no-ui --no-https -a
|
||||
- echo "y" | android update sdk --filter tools,platform-tools,build-tools-19.0.3,android-19,extra-google-m2repository,extra-android-m2repository --no-ui --no-https -a
|
||||
install:
|
||||
- gem install --version 0.8.9 faraday
|
||||
- gem install travis-artifacts
|
||||
script:
|
||||
- ./build-ndk.sh
|
||||
- cp local.sbt.example local.sbt
|
||||
- sbt clean
|
||||
- sbt apk
|
||||
- cp local.properties.example local.properties
|
||||
- sbt clean android:package-release
|
||||
after_success:
|
||||
- sbt deploy
|
||||
- ./deploy target/android-bin shadowsocks-release.apk
|
||||
env:
|
||||
global:
|
||||
- "ARTIFACTS_AWS_REGION=us-east-1"
|
||||
|
||||
@@ -10,13 +10,11 @@ Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
|
||||
|
||||
[](http://travis-ci.org/shadowsocks/shadowsocks-android)
|
||||
|
||||
[Nightly Builds](http://buildbot.sinaapp.com)
|
||||
|
||||
### PREREQUISITES
|
||||
|
||||
* JDK 1.6+
|
||||
* SBT 0.12.4
|
||||
* Android SDK r21+ ( with SDK Platform Android 4.1.2, API 16, revision 4 )
|
||||
* SBT 0.12.3
|
||||
* Android SDK r21+
|
||||
* Android NDK r9+
|
||||
|
||||
### BUILD
|
||||
@@ -25,7 +23,7 @@ Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
|
||||
* Set environment variable `ANDROID_NDK_HOME` to `/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.sbt` from `local.sbt.example` with your own key alias
|
||||
* Create `local.properties` from `local.properties.example` with your own key alias
|
||||
* Invoke the building like this
|
||||
|
||||
```bash
|
||||
@@ -33,17 +31,17 @@ Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
|
||||
./build-ndk.sh
|
||||
|
||||
# Build the App
|
||||
sbt clean release
|
||||
sbt clean android:package-release
|
||||
```
|
||||
|
||||
#### BUILD ON Mac OS X (with HomeBrew)
|
||||
#### 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/opt/android-sdk` to your .bashrc , then reopen the shell to loat it.
|
||||
* Run `android update sdk --filter tools,platform-tools,android-16 --no-ui --no-https -a` to insall SDK Platform Android 4.1.2, API 16, revision 4.
|
||||
* Run `echo "y" | android update sdk --filter tools,platform-tools,build-tools-19.0.3,android-19,extra-google-m2repository,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.sbt` from `local.sbt.example` with your own key alias .
|
||||
* Create `local.properties` from `local.properties.example` with your own key alias .
|
||||
* Invoke the building like this
|
||||
|
||||
```bash
|
||||
@@ -51,13 +49,12 @@ Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
|
||||
./build-ndk.sh
|
||||
|
||||
# Build the apk
|
||||
sbt clean
|
||||
sbt apk
|
||||
sbt clean android:package-release
|
||||
```
|
||||
|
||||
### LICENSE
|
||||
|
||||
Copyright (C) 2013 Max Lv <max.c.lv@gmail.com>
|
||||
Copyright (C) 2014 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
|
||||
|
||||
+5
-5
@@ -1,13 +1,13 @@
|
||||
#!/bin/bash
|
||||
cd src/main
|
||||
ndk-build clean
|
||||
ndk-build
|
||||
mkdir -p assets/armeabi
|
||||
mkdir -p assets/armeabi-v7a
|
||||
mkdir -p assets/x86
|
||||
for app in iptables pdnsd redsocks ss-local ss-tunnel tun2socks
|
||||
for app in ip6tables iptables pdnsd redsocks ss-local ss-tunnel tun2socks
|
||||
do
|
||||
mv libs/armeabi/$app assets/armeabi/
|
||||
mv libs/armeabi-v7a/$app assets/armeabi-v7a/
|
||||
mv libs/x86/$app assets/x86/
|
||||
mv libs/armeabi/$app src/main/assets/armeabi/
|
||||
mv libs/armeabi-v7a/$app src/main/assets/armeabi-v7a/
|
||||
mv libs/x86/$app src/main/assets/x86/
|
||||
done
|
||||
mv libs src/main/jni
|
||||
|
||||
@@ -1,7 +1,21 @@
|
||||
import android.Keys._
|
||||
|
||||
import android.Dependencies.{apklib,aar}
|
||||
|
||||
android.Plugin.androidBuild
|
||||
|
||||
platformTarget in Android := "android-19"
|
||||
|
||||
name := "shadowsocks"
|
||||
|
||||
compileOrder in Compile := CompileOrder.JavaThenScala
|
||||
|
||||
resolvers += "JRAF" at "http://JRAF.org/static/maven/2"
|
||||
|
||||
resolvers += "madeye private releases" at "http://madeye-maven-repository.googlecode.com/git/"
|
||||
|
||||
libraryDependencies ++= Seq(
|
||||
"com.google.android" % "support-v4" % "r12",
|
||||
"com.google.android" % "analytics" % "3.01",
|
||||
"com.google.android" % "admob" % "6.4.1",
|
||||
"dnsjava" % "dnsjava" % "2.1.5",
|
||||
"org.scalaj" %% "scalaj-http" % "0.3.10",
|
||||
"commons-net" % "commons-net" % "3.3",
|
||||
@@ -9,16 +23,27 @@ libraryDependencies ++= Seq(
|
||||
)
|
||||
|
||||
libraryDependencies ++= Seq(
|
||||
"com.actionbarsherlock" % "actionbarsherlock" % "4.4.0" artifacts(Artifact("actionbarsherlock", "apklib", "apklib")),
|
||||
"net.saik0.android.unifiedpreference" % "unifiedpreference" % "0.0.2" artifacts(Artifact("unifiedpreference", "apklib", "apklib")),
|
||||
"org.jraf" % "android-switch-backport" % "1.0" artifacts(Artifact("android-switch-backport", "apklib", "apklib")),
|
||||
"net.simonvt.menudrawer" % "menudrawer" % "3.0.4" artifacts(Artifact("menudrawer", "apklib", "apklib"))
|
||||
aar("com.actionbarsherlock" % "actionbarsherlock" % "4.4.0") exclude("com.google.android", "support-v4"),
|
||||
"net.simonvt.menudrawer" % "menudrawer" % "3.0.6",
|
||||
"org.jraf" % "android-switch-backport" % "1.3.1",
|
||||
"com.google.android.gms" % "play-services" % "4.4.52",
|
||||
"com.android.support" % "support-v4" % "19.1.0"
|
||||
)
|
||||
|
||||
libraryDependencies ++= Seq(
|
||||
"de.keyboardsurfer.android.widget" % "crouton" % "1.8.1",
|
||||
"de.keyboardsurfer.android.widget" % "crouton" % "1.8.1" exclude("com.google.android", "support-v4"),
|
||||
"com.nostra13.universalimageloader" % "universal-image-loader" % "1.8.4",
|
||||
"com.j256.ormlite" % "ormlite-core" % "4.47",
|
||||
"com.j256.ormlite" % "ormlite-android" % "4.47"
|
||||
)
|
||||
|
||||
proguardOptions in Android ++= Seq("-keep class android.support.v4.app.** { *; }",
|
||||
"-keep interface android.support.v4.app.** { *; }",
|
||||
"-keep class com.actionbarsherlock.** { *; }",
|
||||
"-keep interface com.actionbarsherlock.** { *; }",
|
||||
"-keep class org.jraf.android.backport.** { *; }",
|
||||
"-keep class com.github.shadowsocks.** { *; }",
|
||||
"-keep class * extends com.j256.ormlite.** { *; }",
|
||||
"-keepattributes *Annotation*",
|
||||
"-dontwarn org.xbill.**",
|
||||
"-dontwarn com.actionbarsherlock.**")
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user