1、在android 中开发java.net.SocketException: socket failed: EACCES (Permission denied) 报错
- 第一反应就是缺少网络权限,然后赶紧检查有没有加入网络访问权限。
在androidmanifest文件中加入<uses-permission android:name=“android.permission.INTERNET”/>
- 用户禁用了你的app的访问网络的权限。注意是单一阻止了。所以根据系统来给你的应用程序开启联网的权限。
例如小米手机 的操作是:找到“安全中心”app,进入,然后看到“网络助手”,进入,然后点击“联网控制”,找到对应app,查看对应的“数据”和“WLAN”两个选项是否钩上了。
或者
java文件网络操作前,加入如下代码
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
- 可能网络操作的代码写在了UI线程里,从android 4.0以后就不允许这样操作了。因为在UI线程里进行网络操作,如果网络不好那么整个程序就容易ANR。所以android4.0以后对要网络操作的代码必须新开一个线程来做。
- 权限要在<application>标签后面引入才能起作用
- 网络权限要这样写<uses-permission android:name=“android.permission.INTERNET"/> 而不是这样写<permission android:name=“android.permission.INTERNET"></permission>
2、Failed to install .apk on device 'emulator-5554': timeout
打开试图:window->preferences->Android->DDMS
把ADB CONNECTION...的值5000改为50000.