问题描述

一开始我是写一个网络请求,但是忘记添加网络权限了,运行后看日志出现权限问题,根据提示添加网络权限。

uses-permission android:name=“android.permission.INTERNET”

但是问题来了,我运行程序后,还是出现问题,问题如下。

2019-09-30 15:29:39.950 21300-21356/com.yezijie.wanandroid W/System.err: java.net.SocketException: socket failed: EPERM (Operation not permitted)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at java.net.Socket.createImpl(Socket.java:492)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at java.net.Socket.getImpl(Socket.java:552)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at java.net.Socket.setSoTimeout(Socket.java:1180)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:248)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:211)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:30)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.yezijie.wanandroid.util.HttpUtil.sendHttpRequest(HttpUtil.java:41)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at com.yezijie.wanandroid.MainActivity$1.run(MainActivity.java:49)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid W/System.err:     at java.lang.Thread.run(Thread.java:919)2019-09-30 15:29:39.951 21300-21356/com.yezijie.wanandroid D/MainActivity: onCreate: socket failed: EPERM (Operation not permitted)


解决方法

网上很多人说不仅要添加网络访问权限,还需要添加网络状态权限,

uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE”

经我验证,这种方法是行不通的,即使添加后还是出现这情况,所以与这个权限没有半毛钱关系。

后来我 卸载了程序重新安装(之前这里我可能说的不清楚,很多人以为是卸载AS,我想吐槽一下,为啥你们会想到要卸载AS呢······我说的卸载程序是卸载Android应用程序,也就是你安装在模拟器或者真机上的apk应用程序。) ,竟然就能正常运行了,是的,你没听错,就是这么简单粗暴!为了验证是什么回事,我重复操作多遍,将程序还原原来的样子卸载后重新安装,发现导致这原因是:一开始网络请求时我没有赋予网络权限,我重新给程序赋予权限时我并没有卸载程序,只是重新编译,系统并没有获取到配置文件中的权限,因此需要卸载重新安装。这是我个人理解,如有错误,欢迎留言指出,谢谢!



个人网站:分享客(https://sharerdiary.com/)
这个网站经常分享一些免费视频、免费音乐、实用工具和各种福利,感兴趣的朋友可以看看!

您的关注和点赞是我分享的动力,如有帮助请勿吝啬!ヽ( ̄▽ ̄)ノ



更多相关文章

  1. Android系统架构介绍
  2. [置顶] android学习系列-短信发送器与电话拨号器调用(3)
  3. Android:AndroidManifest.xml
  4. Android(安卓)中文api (81)——InputMethod [输入法]
  5. Android应用程序Click事件与Touch事件处理
  6. android之应用程序启动第三方应用
  7. Android(安卓)开始支持Vulkan图形编程接口标准
  8. Android(安卓)6.0+ 运行时权限探索
  9. android中对程序进行数字证书签名的方法

随机推荐

  1. 小白前端入门笔记(10),怎么设置网站内部的超
  2. Small Structures: 超陡亚阈值摆幅的范德
  3. 帮你光速脱单!程序员找对象指南
  4. 透过 OKR 进行项目过程管理
  5. 十次九输!我的词汇量被自己写的小游戏吊打
  6. Spring MVC项目基本配置
  7. Spark Streaming 在数据平台日志解析功能
  8. 工欲善其事,如何挑选一款趁手的键盘?让你的
  9. 4.14 vSphere许可术语和定义
  10. 【Git版本控制】Git版本控制工具使用说明