reduce the apk size
This commit is contained in:
+8
-2
@@ -4,10 +4,13 @@
|
||||
cp jni/Application.mk.9 jni/Application.mk
|
||||
ndk-build clean
|
||||
ndk-build
|
||||
rm -rf src/main/assets/armeabi
|
||||
rm -rf src/main/assets/armeabi-v7a
|
||||
rm -rf src/main/assets/x86
|
||||
mkdir -p src/main/assets/armeabi
|
||||
mkdir -p src/main/assets/armeabi-v7a
|
||||
mkdir -p src/main/assets/x86
|
||||
for app in ip6tables iptables pdnsd redsocks ss-tunnel
|
||||
for app in pdnsd redsocks
|
||||
do
|
||||
mv libs/armeabi/$app src/main/assets/armeabi/
|
||||
mv libs/armeabi-v7a/$app src/main/assets/armeabi-v7a/
|
||||
@@ -20,10 +23,13 @@ mv libs src/main/jni
|
||||
cp jni/Application.mk.16 jni/Application.mk
|
||||
ndk-build clean
|
||||
ndk-build
|
||||
rm -rf src/main/assets/api-16/armeabi
|
||||
rm -rf src/main/assets/api-16/armeabi-v7a
|
||||
rm -rf src/main/assets/api-16/x86
|
||||
mkdir -p src/main/assets/api-16/armeabi
|
||||
mkdir -p src/main/assets/api-16/armeabi-v7a
|
||||
mkdir -p src/main/assets/api-16/x86
|
||||
for app in pdnsd redsocks ss-tunnel
|
||||
for app in pdnsd redsocks
|
||||
do
|
||||
mv libs/armeabi/$app src/main/assets/api-16/armeabi/
|
||||
mv libs/armeabi-v7a/$app src/main/assets/api-16/armeabi-v7a/
|
||||
|
||||
+28
-7
@@ -200,6 +200,27 @@ LOCAL_LDLIBS := -llog
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
########################################################
|
||||
## shadowsocks tunnel library
|
||||
########################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
SHADOWSOCKS_SOURCES := tunnel.c cache.c udprelay.c encrypt.c utils.c json.c jconf.c
|
||||
|
||||
LOCAL_MODULE := ss-tunnel-jni
|
||||
LOCAL_SRC_FILES := $(addprefix shadowsocks/src/, $(SHADOWSOCKS_SOURCES)) main-jni.cpp
|
||||
LOCAL_CFLAGS := -Wall -O2 -fno-strict-aliasing -DUDPRELAY_LOCAL -DUDPRELAY_TUNNEL \
|
||||
-DUSE_CRYPTO_OPENSSL -DANDROID -DHAVE_CONFIG_H -DSSTUNNEL_JNI \
|
||||
-I$(LOCAL_PATH)/libev/ \
|
||||
-I$(LOCAL_PATH)/openssl/include
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libev libcrypto
|
||||
|
||||
LOCAL_LDLIBS := -llog
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
########################################################
|
||||
## system
|
||||
########################################################
|
||||
@@ -314,13 +335,13 @@ openssl_subdirs := $(addprefix $(LOCAL_PATH)/openssl/,$(addsuffix /Android.mk, \
|
||||
include $(openssl_subdirs)
|
||||
|
||||
# Iptables
|
||||
LOCAL_PATH := $(ROOT_PATH)
|
||||
iptables_subdirs := $(addprefix $(LOCAL_PATH)/iptables/,$(addsuffix /Android.mk, \
|
||||
iptables \
|
||||
extensions \
|
||||
libiptc \
|
||||
))
|
||||
include $(iptables_subdirs)
|
||||
# LOCAL_PATH := $(ROOT_PATH)
|
||||
# iptables_subdirs := $(addprefix $(LOCAL_PATH)/iptables/,$(addsuffix /Android.mk, \
|
||||
# iptables \
|
||||
# extensions \
|
||||
# libiptc \
|
||||
# ))
|
||||
# include $(iptables_subdirs)
|
||||
|
||||
# Import cpufeatures
|
||||
$(call import-module,android/cpufeatures)
|
||||
|
||||
@@ -41,11 +41,13 @@ package com.github.shadowsocks;
|
||||
public class Core {
|
||||
static {
|
||||
java.lang.System.loadLibrary("ss-local-jni");
|
||||
java.lang.System.loadLibrary("ss-tunnel-jni");
|
||||
java.lang.System.loadLibrary("tun2socks-jni");
|
||||
java.lang.System.loadLibrary("pdnsd-jni");
|
||||
}
|
||||
|
||||
public static native void sslocal(String[] cmd);
|
||||
public static native void sstunnel(String[] cmd);
|
||||
public static native void tun2socks(String[] cmd);
|
||||
public static native void pdnsd(String[] cmd);
|
||||
}
|
||||
|
||||
@@ -124,8 +124,7 @@ object Shadowsocks {
|
||||
val FEATRUE_PREFS = Array(Key.isGFWList, Key.isGlobalProxy, Key.proxyedApps, Key.isTrafficStat,
|
||||
Key.isUdpDns, Key.isAutoConnect)
|
||||
|
||||
val SYSTEM_EXECUTABLES = Array(Executable.PDNSD, Executable.REDSOCKS,Executable.SS_TUNNEL)
|
||||
val EXECUTABLES = Array(Executable.IPTABLES) ++ SYSTEM_EXECUTABLES
|
||||
val EXECUTABLES = Array(Executable.PDNSD, Executable.REDSOCKS)
|
||||
|
||||
// Helper functions
|
||||
def updateListPreference(pref: Preference, value: String) {
|
||||
@@ -329,8 +328,6 @@ class Shadowsocks
|
||||
ab.append("kill -9 `cat /data/data/com.github.shadowsocks/ss-tunnel.pid`")
|
||||
ab.append("kill -9 `cat /data/data/com.github.shadowsocks/tun2socks.pid`")
|
||||
ab.append("killall -9 pdnsd")
|
||||
ab.append("killall -9 ss-local")
|
||||
ab.append("killall -9 ss-tunnel")
|
||||
ab.append("killall -9 tun2socks")
|
||||
ab.append("rm /data/data/com.github.shadowsocks/pdnsd.conf")
|
||||
ab.append("rm /data/data/com.github.shadowsocks/pdnsd.cache")
|
||||
@@ -802,7 +799,7 @@ class Shadowsocks
|
||||
def copyToSystem() {
|
||||
val ab = new ArrayBuffer[String]
|
||||
ab.append("mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system")
|
||||
for (executable <- Shadowsocks.SYSTEM_EXECUTABLES) {
|
||||
for (executable <- Shadowsocks.EXECUTABLES) {
|
||||
ab.append("cp %s%s /system/bin/".format(Path.BASE, executable))
|
||||
}
|
||||
ab.append("mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system")
|
||||
|
||||
@@ -134,7 +134,7 @@ class ShadowsocksNatService extends Service with BaseService {
|
||||
|
||||
def startDnsDaemon() {
|
||||
val args = if (config.isUdpDns) {
|
||||
("ss-tunnel -b 127.0.0.1 -s '%s' -p '%d' -l '%d' -k '%s' -m '%s' -L 8.8.8.8:53 -u -f " +
|
||||
("ss-tunnel -b 127.0.0.1 -s %s -p %d -l %d -k %s -m %s -L 8.8.8.8:53 -u -f " +
|
||||
Path.BASE + "ss-tunnel.pid")
|
||||
.format(config.proxy, config.remotePort, 8153, config.sitekey, config.encMethod)
|
||||
} else {
|
||||
@@ -155,8 +155,14 @@ class ShadowsocksNatService extends Service with BaseService {
|
||||
} else {
|
||||
Path.BASE + args
|
||||
}
|
||||
|
||||
if (BuildConfig.DEBUG) Log.d(TAG, cmd)
|
||||
Console.runRootCommand(cmd)
|
||||
|
||||
if (config.isUdpDns) {
|
||||
Core.sstunnel(cmd.split(" "))
|
||||
} else {
|
||||
Console.runRootCommand(cmd)
|
||||
}
|
||||
}
|
||||
|
||||
def getVersionName: String = {
|
||||
@@ -308,10 +314,11 @@ class ShadowsocksNatService extends Service with BaseService {
|
||||
|
||||
val ab = new ArrayBuffer[String]
|
||||
|
||||
ab.append("kill -9 `cat " + Path.BASE + "ss-tunnel.pid`")
|
||||
|
||||
ab.append("kill -9 `cat " + Path.BASE +"redsocks.pid`")
|
||||
ab.append("killall -9 redsocks")
|
||||
ab.append("kill -9 `cat " + Path.BASE + "ss-tunnel.pid`")
|
||||
ab.append("killall -9 ss-tunnel")
|
||||
|
||||
ab.append("kill -15 `cat " + Path.BASE + "pdnsd.pid`")
|
||||
ab.append("killall -15 pdnsd")
|
||||
|
||||
@@ -319,7 +326,6 @@ class ShadowsocksNatService extends Service with BaseService {
|
||||
ab.clear()
|
||||
|
||||
ab.append("kill -9 `cat " + Path.BASE + "ss-local.pid`")
|
||||
ab.append("killall -9 ss-local")
|
||||
|
||||
Console.runCommand(ab.toArray)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user