qiniu / android-sdk

Qiniu Resource (Cloud) Storage SDK for Android
MIT License
625 stars 226 forks source link

HttpDns类中找不到 com/qiniu/android/dns/http/DnspodFree; #471

Closed pengchao1989 closed 2 years ago

pengchao1989 commented 3 years ago

如题,最近两三个版本运行时崩溃

YangSen-qn commented 3 years ago

请确认以下几个问题:

  1. qiniu android-sdk 版本号
  2. 依赖的 HappyDns 版本号
  3. 是否必现
pengchao1989 commented 3 years ago

@YangSen-qn qiniu android-sdk 8.3.1 happy-dns 1.0.0 必现

我run的时候提示 DnspodFree 这个类找不到

public class HttpDns implements Dns {

private IResolver httpResolver;

public HttpDns(int timeout) {
    httpResolver = new DnspodFree("119.29.29.29", timeout);
}
YangSen-qn commented 3 years ago

@pengchao1989 正常情况, SDK v8.3.1 依赖的 HappyDns 版本是 v0.2.18 而不是 v1.0.0。

pengchao1989 commented 3 years ago

找不到的这个 DnspodFree 类是 qiniu的包里的啊

package com.qiniu.android.http.dns;

import com.qiniu.android.dns.Domain; import com.qiniu.android.dns.IResolver; import com.qiniu.android.dns.Record; import com.qiniu.android.dns.http.DnspodFree;

import java.io.IOException; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Date; import java.util.List;

public class HttpDns implements Dns {

private IResolver httpResolver;

public HttpDns(int timeout) {
    **httpResolver = new DnspodFree("119.29.29.29", timeout);**
}
YangSen-qn commented 3 years ago

@pengchao1989 SDK v8.3.1 应该是依赖 HappyDns 版本是 v0.2.18, 你那边是不是直接或者间接修改了依赖的版本?在 HappyDns v1.0.0 中 DnspodFree 的确被移除了,所以 SDK v8.3.1 不能依赖 HappyDns v1.0.0

xulonc commented 2 years ago

可参考下这里

implementation ('com.qiniu:happy-dns'){
        version{
            strictly('0.2.18') // 如果觉得1.0版本不行,这里强制改为依赖0.2.18版本
        }
    }
implementation group: 'com.qiniu', name: 'qiniu-android-sdk', version: '8.4.1'  // 这里默认会自动依赖haapy-dns 1.0版本