SafetyNet离线验证

SafetyNet offline verification

我正在尝试按照此处的示例执行离线验证 (https://github.com/googlesamples/android-play-safetynet/blob/master/server/java/src/main/java/OfflineVerify.java)。但是,当我尝试导入以下内容时 类,Android Studio 指示未解析的引用

import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.json.webtoken.JsonWebSignature;
import org.apache.http.conn.ssl.DefaultHostnameVerifier;

未解析的引用是 api 和 DefaultHostnameVerifier。

我是不是遗漏了一些设置?

因为DefaultHostnameVerifierclass所在的SDK在本地Android工作室没有同步。 需要在gradle文件中添加google-http-client-jackson2和httpclient两个SDK的依赖。在GitHub上可以看到对应的配置:

https://github.com/googlesamples/android-play-safetynet/blob/master/server/java/build.gradle

dependencies {
    compile 'com.google.http-client:google-http-client-jackson2:1.22.0'

    // Apache HttpClient is used to verify the hostname against the signed certificate in OfflineVerify.
    compile 'org.apache.httpcomponents:httpclient:4.5.2'
}