diff --git a/project/plugins.sbt b/project/plugins.sbt
index 5ca86e4f..217b0486 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,5 +1,5 @@
resolvers += Resolver.url("scalasbt releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-snapshots"))(Resolver.ivyStylePatterns)
-addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.5.8")
+addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.5.9")
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.7.0-SNAPSHOT")
diff --git a/src/main/res/values-zh/strings.xml b/src/main/res/values-zh/strings.xml
index 75a7070a..4b85f2bb 100755
--- a/src/main/res/values-zh/strings.xml
+++ b/src/main/res/values-zh/strings.xml
@@ -40,6 +40,7 @@
停止服务
正在关闭……
后台服务启动失败:%s
+ VPN 服务启动失败。你可能需要重启设备。
关闭
代理服务器地址不能为空
连接
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index bc12046f..afeb12ab 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -66,6 +66,7 @@
Stop the service
Shutting down…
%s
+ Failed to start VPN service. You might need to reboot your device.
Close
diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala
index 1257cbe0..46a15cf0 100644
--- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala
+++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala
@@ -337,7 +337,7 @@ class Shadowsocks
if (intent != null) {
startActivityForResult(intent, Shadowsocks.REQUEST_CONNECT)
} else {
- onActivityResult(Shadowsocks.REQUEST_CONNECT, Activity.RESULT_OK, null)
+ handler.post(() => onActivityResult(Shadowsocks.REQUEST_CONNECT, Activity.RESULT_OK, null))
}
} else {
serviceStart()
diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala
index 34b76279..7197e3c9 100644
--- a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala
+++ b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala
@@ -442,11 +442,14 @@ class ShadowsocksVpnService extends VpnService with BaseService {
try {
conn = builder.establish()
+ if (conn == null) changeState(State.STOPPED, getString(R.string.reboot_required))
} catch {
case ex: IllegalStateException =>
changeState(State.STOPPED, ex.getMessage)
conn = null
- case ex: Exception => conn = null
+ case ex: Exception =>
+ ex.printStackTrace()
+ conn = null
}
if (conn == null) {