刚接触Android Studio写程序,写一个网络请求数据,创建的时候贪心,选了最新的Android P 即Android 10.0 ,API 29 。
但是忘记添加网络权限了,运行后看日志出现权限问题,根据提示添加网络权限。
于是加入两个权限
uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE”
uses-permission android:name=“android.permission.INTERNET”
(在manifest文件中)
可是还是总是提示这个错误
java.net.SocketException: socket failed: EPERM (Operation not permitted)
我折腾了好久,以为是Android 10.0 ,API 29 只支持https的原因引起的,就一直百度, 没找出个原因。
就在打算重新创建一个app,把API降级的时候,看到了CSDN上另一个程序员哥们MrYZJ的帖子,卸载虚拟机里面的程序,或者重新建一个AVD。
于是我重新建了一个AVD,真可以了。感谢csdn。
于是登陆自己的账号,记录一下这个问题,预防以后再次碰见这种情况,也可以帮助其他朋友。