diff --git a/build-ndk.sh b/build-ndk.sh index 76dcf72e..4f22cc2a 100755 --- a/build-ndk.sh +++ b/build-ndk.sh @@ -13,7 +13,7 @@ rm -rf src/main/assets/armeabi-v7a rm -rf src/main/assets/x86 mkdir -p src/main/assets/armeabi-v7a mkdir -p src/main/assets/x86 -for app in pdnsd redsocks +for app in pdnsd redsocks iptables do try mv libs/armeabi-v7a/$app src/main/assets/armeabi-v7a/ try mv libs/x86/$app src/main/assets/x86/ diff --git a/jni/Android.mk b/jni/Android.mk index 654be81a..29ae03ef 100755 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -335,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) diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index 78cba307..34a52528 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -123,7 +123,7 @@ object Shadowsocks { val FEATRUE_PREFS = Array(Key.isGFWList, Key.isGlobalProxy, Key.proxyedApps, Key.isTrafficStat, Key.isUdpDns, Key.isAutoConnect) - val EXECUTABLES = Array(Executable.PDNSD, Executable.REDSOCKS) + val EXECUTABLES = Array(Executable.PDNSD, Executable.REDSOCKS, Executable.IPTABLES) // Helper functions def updateListPreference(pref: Preference, value: String) { @@ -496,7 +496,7 @@ class Shadowsocks // Bind to the service spawn { - val isRoot = Console.isRoot + val isRoot = Build.VERSION.SDK_INT != Build.VERSION_CODES.LOLLIPOP && Console.isRoot handler.post(new Runnable { override def run() { status.edit.putBoolean(Key.isRoot, isRoot).commit()