Android SocketException: EACCES (Permission denied) 错误解决方法
W/System.err: java.net.SocketException: socket failed: EACCES (Permission denied)\nW/System.err: at java.net.Socket.createImpl(Socket.java:487)\nW/System.err: at java.net.Socket.getImpl(Socket.java:547)\nW/System.err: at java.net.Socket.setSoTimeout(Socket.java:1175)\nW/System.err: at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:293)\nW/System.err: at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207)\nW/System.err: at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)\nW/System.err: at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)\nW/System.err: at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)\nW/System.err: at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)\nW/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)\nW/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\nW/System.err: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)\nW/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\nW/System.err: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)\nW/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\nW/System.err: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)\nW/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\nW/System.err: at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)\nW/System.err: at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\nW/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)\nW/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)\nW/System.err: at java.lang.Thread.run(Thread.java:764)\n这是一个Java Socket异常,表示尝试创建套接字时出现权限被拒绝的错误。这通常发生在应用程序没有足够的权限来创建套接字连接时。可能的原因包括:\n\n1. 没有声明网络权限:在AndroidManifest.xml文件中,需要添加 <uses-permission android:name="android\.permission\.INTERNET" /> 权限声明。\n\n2. 在Android 9.0及以上版本中,需要使用网络安全配置:在res目录下创建一个名为network_security_config.xml的文件,并在AndroidManifest.xml中声明网络安全配置。网络安全配置文件中可以包含允许的域名或自定义证书等。\n\n3. 在某些设备或系统上,可能会出现其他限制或安全策略,导致无法创建套接字连接。这可能需要对设备或系统进行进一步的调查和配置。\n\n需要根据具体的应用程序和环境来确定问题的原因和解决方法。
原文地址: https://www.cveoy.top/t/topic/pUdr 著作权归作者所有。请勿转载和采集!