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/ShadowsocksVpnService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala
index 28c43504..7197e3c9 100644
--- a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala
+++ b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala
@@ -442,7 +442,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
try {
conn = builder.establish()
- if (conn == null) throw new Exception("Application not prepared.")
+ if (conn == null) changeState(State.STOPPED, getString(R.string.reboot_required))
} catch {
case ex: IllegalStateException =>
changeState(State.STOPPED, ex.getMessage)