如何在单例组件中将代理服务器添加到okhttp中?

How to add a proxy server to okhttp within a singleton component?

提问人:Snehil 提问时间:6/12/2021 最后编辑:Snehil 更新时间:12/27/2021 访问量:395

问:

在我的匕首图中,我需要为 okhttp 提供代理。我正在使用导致主线程上的网络异常。java.net.InetSocketAddressjava.net.Proxy

@InstallIn(SingletonComponent::class)
@Module
class SingletonModule {
    @Provides
    fun proxyClient(): OkHttpClient {
        return OkHttpClient.Builder()
            .proxy(
                Proxy(Proxy.Type.HTTP, 
                    InetSocketAddress("192.9.09.8", 98))
            ).callTimeout(2, TimeUnit.MINUTES).build()
    }
}

挂起功能似乎不适用于刀柄。
有没有办法在 Hilt 中使用异步代码?

崩溃日志

Caused by: android.os.NetworkOnMainThreadException        
   at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1565)
   at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:115)
   at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
   at java.net.InetAddress.getAllByName(InetAddress.java:1152)
   at java.net.Socket.<init>(Socket.java:218)
   at com.moblie.frencheska.hilt.SingletonModule.proxyClient(SingletonModule.kt:55)
Android kotlin okhttp dagger-hilt networkonmainthread

评论


答: 暂无答案