diff --git a/project/plugins.sbt b/project/plugins.sbt index 5ea4ab72..3ade29b4 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,6 +1,6 @@ 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.4.6") +addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.4.7") resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/" diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 752c8c5e..57ae4ce9 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + android:versionCode="111" + android:versionName="2.7.3"> diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala index 8105f8f9..c44750bb 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala @@ -266,17 +266,18 @@ class ShadowsocksVpnService extends VpnService with BaseService { } val fd = startVpn() - if (fd == -1) { - false - } else { - Thread.sleep(1000) - if (System.sendfd(fd) == -1) { - false - } else { - true + + if (fd != -1) { + var tries = 1 + while (tries < 5) { + Thread.sleep(1000 * tries) + if (System.sendfd(fd) != -1) { + return true + } + tries += 1 } } - + false } def startShadowsocksDaemon() {