From 568f253ba5fee69672c431b4f7849df1a47d4d21 Mon Sep 17 00:00:00 2001 From: Sxci Date: Fri, 31 Aug 2018 14:48:44 +0800 Subject: [PATCH] =?UTF-8?q?=20android=208=20=E4=B8=8B=20happly-dns=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=BB=98=E8=AE=A4=E9=85=8D=E7=BD=AE=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=9B=E8=80=83=E8=99=91=20sdk=20=E5=AF=B9=20httpdn?= =?UTF-8?q?s=20=E6=B2=A1=E6=9C=89=E5=BC=BA=E4=BE=9D=E8=B5=96=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E3=80=82=E6=8E=A5=E5=8F=A3=E4=B8=8D=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 10 ++++ library/build.gradle | 3 +- .../java/com/qiniu/android/DnsTest.java | 34 ------------- .../qiniu/android/common/AutoZoneTest.java | 6 +-- .../com/qiniu/android/common/AutoZone.java | 9 ++-- .../com/qiniu/android/common/Constants.java | 2 +- .../qiniu/android/storage/Configuration.java | 46 ----------------- .../java/com/qiniu/android/utils/Dns.java | 50 ------------------- 8 files changed, 19 insertions(+), 141 deletions(-) delete mode 100644 library/src/androidTest/java/com/qiniu/android/DnsTest.java delete mode 100644 library/src/main/java/com/qiniu/android/utils/Dns.java diff --git a/CHANGELOG.md b/CHANGELOG.md index be5bdc899..b1704b185 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ #Changelog +## 7.3.13 (2018-08-31) +### 修改 +* 修复 Android 8.0 net.dns1 属性不能获取问题,即移除依赖 com.qiniu:happy-dns ,保留 dns 设置接口 + + +## 7.3.12 (2018-04-08) +### 修改 +* 新建 Dns 类,可以不依赖 com.qiniu:happy-dns + + ## 7.3.11 (2017-03-12) ### 增加 * 新加坡机房 diff --git a/library/build.gradle b/library/build.gradle index 422f3822b..a677a906a 100755 --- a/library/build.gradle +++ b/library/build.gradle @@ -36,8 +36,7 @@ android { } dependencies { - compile 'com.squareup.okhttp3:okhttp:3.10.0' - compile 'com.qiniu:happy-dns:0.2.13' + compile 'com.squareup.okhttp3:okhttp:3.11.0' compile fileTree(include: ['*.jar'], dir: 'libs') } diff --git a/library/src/androidTest/java/com/qiniu/android/DnsTest.java b/library/src/androidTest/java/com/qiniu/android/DnsTest.java deleted file mode 100644 index ce6c2af19..000000000 --- a/library/src/androidTest/java/com/qiniu/android/DnsTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.qiniu.android; - -import android.test.AndroidTestCase; - -import com.qiniu.android.storage.Configuration; -import com.qiniu.android.utils.Dns; - -import junit.framework.Assert; - -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.List; - -/** - * Created by bailong on 15/1/5. - */ -public class DnsTest extends AndroidTestCase { - public void testDns() { - String ip = Dns.getAddressesString("qiniu.com"); - Assert.assertTrue(!ip.equals("")); - ip = Dns.getAddressesString("nodns.qiniu.com"); - Assert.assertEquals("", ip); - } - - - public void testDnsConfig() throws UnknownHostException { - Configuration config = new Configuration.Builder().build(); - Assert.assertTrue(" 默认使用 happlyDns ", config.dns != null); - List inetAddress = config.dns.lookup("www.baidu.com"); -// System.out.println(inetAddress.get(0).getHostAddress()); - Assert.assertFalse(" 解析不能为空 ", inetAddress.isEmpty()); - Assert.assertTrue(" 禁用 happlyDns ", new Configuration.Builder().dns(null).build().dns == null); - } -} diff --git a/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java b/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java index 1e5125dbd..e1022c18c 100644 --- a/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java +++ b/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java @@ -18,7 +18,7 @@ public class AutoZoneTest extends AndroidTestCase { private String bkt = "javasdk"; // public void testHttp() { -// AutoZone zone = new AutoZone(null); +// AutoZone zone = new AutoZone(); // final CountDownLatch countDownLatch = new CountDownLatch(1); // zone.preQueryIndex(new AutoZone.ZoneIndex(ak, bkt), new Zone.QueryHandler() { // @Override @@ -45,7 +45,7 @@ public class AutoZoneTest extends AndroidTestCase { // } // public void testHttpFail() { -// AutoZone zone = new AutoZone(null); +// AutoZone zone = new AutoZone(); // ZoneInfo zoneInfo = zone.zoneInfo(ak + "_not_be_ak", bkt); // assertNull(zoneInfo); // } @@ -57,7 +57,7 @@ public void testSplitE() { } public void testC1() { - AutoZone autoZone = new AutoZone(null); + AutoZone autoZone = new AutoZone(); final CountDownLatch countDownLatch = new CountDownLatch(1); autoZone.preQueryIndex(new AutoZone.ZoneIndex(ak, bkt), new Zone.QueryHandler() { @Override diff --git a/library/src/main/java/com/qiniu/android/common/AutoZone.java b/library/src/main/java/com/qiniu/android/common/AutoZone.java index f1bb7972d..ab0f120dc 100644 --- a/library/src/main/java/com/qiniu/android/common/AutoZone.java +++ b/library/src/main/java/com/qiniu/android/common/AutoZone.java @@ -1,6 +1,5 @@ package com.qiniu.android.common; -import com.qiniu.android.dns.DnsManager; import com.qiniu.android.http.Client; import com.qiniu.android.http.CompletionHandler; import com.qiniu.android.http.ResponseInfo; @@ -22,16 +21,16 @@ public final class AutoZone extends Zone { /** * 自动判断机房 */ - public static final AutoZone autoZone = new AutoZone(null); + public static final AutoZone autoZone = new AutoZone(); private final String ucServer; private Map zones = new ConcurrentHashMap<>(); private Client client = new Client(); - public AutoZone(DnsManager dns) { - this("https://uc.qbox.me", dns); + public AutoZone() { + this("https://uc.qbox.me"); } - AutoZone(String ucServer, DnsManager dns) { + AutoZone(String ucServer) { this.ucServer = ucServer; } diff --git a/library/src/main/java/com/qiniu/android/common/Constants.java b/library/src/main/java/com/qiniu/android/common/Constants.java index 1387fc264..b5552dbf0 100644 --- a/library/src/main/java/com/qiniu/android/common/Constants.java +++ b/library/src/main/java/com/qiniu/android/common/Constants.java @@ -2,7 +2,7 @@ public final class Constants { - public static final String VERSION = "7.3.12"; + public static final String VERSION = "7.3.13"; public static final String UTF_8 = "utf-8"; } diff --git a/library/src/main/java/com/qiniu/android/storage/Configuration.java b/library/src/main/java/com/qiniu/android/storage/Configuration.java index 546c87177..0e8e3734b 100644 --- a/library/src/main/java/com/qiniu/android/storage/Configuration.java +++ b/library/src/main/java/com/qiniu/android/storage/Configuration.java @@ -2,23 +2,11 @@ import com.qiniu.android.common.AutoZone; import com.qiniu.android.common.Zone; -import com.qiniu.android.dns.DnsManager; -import com.qiniu.android.dns.Domain; -import com.qiniu.android.dns.IResolver; -import com.qiniu.android.dns.NetworkInfo; -import com.qiniu.android.dns.local.AndroidDnsServer; -import com.qiniu.android.dns.local.Resolver; import com.qiniu.android.http.Dns; import com.qiniu.android.http.ProxyConfiguration; import com.qiniu.android.http.UrlConverter; import java.io.File; -import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; public final class Configuration { @@ -127,40 +115,6 @@ public static class Builder { private UrlConverter urlConverter = null; private Dns dns = null; - public Builder() { - buildDefaultDns(); - } - - private void buildDefaultDns() { - IResolver r1 = AndroidDnsServer.defaultResolver(); - IResolver r2 = null; - try { - r2 = new Resolver(InetAddress.getByName("119.29.29.29")); - } catch (IOException ex) { - ex.printStackTrace(); - } - final DnsManager happlyDns = new DnsManager(NetworkInfo.normal, new IResolver[]{r1, r2}); - - dns = new Dns() { - @Override - public List lookup(String hostname) throws UnknownHostException { - InetAddress[] ips; - try { - ips = happlyDns.queryInetAdress(new Domain(hostname)); - } catch (IOException e) { - e.printStackTrace(); - throw new UnknownHostException(e.getMessage()); - } - if (ips == null) { - throw new UnknownHostException(hostname + " resolve failed."); - } - List l = new ArrayList<>(); - Collections.addAll(l, ips); - return l; - } - }; - } - public Builder zone(Zone zone) { this.zone = zone; return this; diff --git a/library/src/main/java/com/qiniu/android/utils/Dns.java b/library/src/main/java/com/qiniu/android/utils/Dns.java deleted file mode 100644 index d0ec95612..000000000 --- a/library/src/main/java/com/qiniu/android/utils/Dns.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.qiniu.android.utils; - -import java.net.InetAddress; -import java.net.UnknownHostException; - -/** - * Dns解析类 - */ -public final class Dns { - - /** - * 根据域名解析出来 IP数组 - * - * @param hostName 域名 - * @return IP 数组 - */ - public static String[] getAddresses(String hostName) { - InetAddress[] ret = null; - try { - ret = InetAddress.getAllByName(hostName); - } catch (UnknownHostException e) { - e.printStackTrace(); - return new String[0]; - } - String[] r = new String[ret.length]; - for (int i = 0; i < r.length; i++) { - r[i] = ret[i].getHostAddress(); - } - return r; - } - - public static String getAddress(String hostName) { - String[] array = getAddresses(hostName); - if (array == null || array.length == 0) { - return null; - } - return array[0]; - } - - /** - * 根据域名解析出来IP列表,并合并为一个字符串,通过';'分隔 - * - * @param hostName 域名 - * @return IP列表 - */ - public static String getAddressesString(String hostName) { - return StringUtils.join(getAddresses(hostName), ";"); - } - -}