본문 바로가기
개발/Android

[Android] java.net.SocketException: socket failed: EPERM (Operation not permitted)

by blacktree 2023. 2. 28.
반응형

안드로이드 앱을 빌드하는 도중에 "java.net.SocketException: socket failed: EPERM (Operation not permitted)"와 같은 에러가 발생할 수 있습니다. 이는 소켓 연결이 제대로 이루어지지 않아 발생하는 문제로, 보안 설정이나 방화벽 설정 등이 올바르게 구성되지 않아 발생할 수 있습니다. 이번에는 이러한 에러가 발생했을 때 해결 방법에 대해 알아보겠습니다.

 

방법

  • 방법 1: 안드로이드 스튜디오를 관리자 권한으로 실행
  • 방법 2: 방화벽 설정 변경하기
  • 방법 3: 안드로이드 adb 서비스 재시작
  • 방법 4: 앱 재설치

 

방법 1: 안드로이드 스튜디오를 관리자 권한으로 실행

먼저, 안드로이드 스튜디오를 관리자 권한으로 실행하여 문제를 해결할 수 있습니다. 다음은 Windows 운영체제에서 관리자 권한으로 안드로이드 스튜디오를 실행하는 방법입니다.

  1. 안드로이드 스튜디오 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
  2. "관리자 권한으로 실행"을 선택합니다.
  3. "예" 버튼을 클릭하여 안드로이드 스튜디오를 실행합니다.

안드로이드 스튜디오를 관리자 권한으로 실행하면, 보안 설정이나 방화벽 설정 등이 관리자 권한으로 실행되므로 소켓 연결 에러가 발생할 가능성이 낮아집니다.

방법 2: 방화벽 설정 변경하기

두 번째 방법은 방화벽 설정을 변경하여 문제를 해결하는 것입니다. 방화벽 설정을 변경하기 전에 먼저 안드로이드 디바이스의 IP 주소를 확인합니다. 이후 방화벽 설정을 변경하는 방법은 다음과 같습니다.

  1. "제어판"에서 "Windows 방화벽"을 선택합니다.
  2. "고급 설정"을 선택합니다.
  3. "인바운드 규칙"을 선택합니다.
  4. "새 규칙"을 클릭합니다.
  5. "프로그램"을 선택합니다.
  6. "다음"을 클릭합니다.
  7. "이 프로그램 경로에 대한 경로 검색"을 클릭합니다.
  8. 안드로이드 스튜디오가 설치된 경로를 선택합니다.
  9. "다음"을 클릭합니다.
  10. "허용 연결"을 선택합니다.
  11. "도메인", "공용", "개인"을 모두 선택합니다.
  12. 규칙 이름을 입력합니다.
  13. "완료"를 클릭합니다.

이제 안드로이드 스튜디오를 다시 실행하고 빌드하면, 소켓 연결 에러가 발생하지 않을 것입니다.

 

방법 3: 안드로이드 adb 서비스 재시작

세 번째 방법은 안드로이드 디바이스와 컴퓨터 간의 연결을 담당하는 adb 서비스를 재시작하는 것입니다. 이를 통해 소켓 연결 에러가 발생하는 문제를 해결할 수 있습니다.

  1. 먼저, 안드로이드 디바이스를 USB 케이블로 컴퓨터에 연결합니다.
  2. 컴퓨터에서 "cmd"를 실행합니다.
  3. "adb kill-server" 명령어를 입력하여 adb 서비스를 종료합니다.
  4. "adb start-server" 명령어를 입력하여 adb 서비스를 다시 시작합니다.
  5. 안드로이드 스튜디오에서 앱을 빌드하거나 디버그 모드로 실행합니다.

 

방법 4: 앱 재설치

안드로이드 디바이스에 설치되어 있는 앱을 삭제후 다시 빌드합니다. 원인 파악은 힘드나 이방법으로 해결되는 경우도 있습니다. 

 

 

이제 소켓 연결 에러가 발생하지 않을 것입니다.

위의 방법들 중 하나를 시도하여 소켓 연결 에러를 해결할 수 있습니다. 그러나 만약에 위의 방법들 중 하나도 해결되지 않는다면, 안드로이드 스튜디오나 안드로이드 디바이스에 문제가 있을 수 있으니 문제를 해결하기 위해 안드로이드 스튜디오를 재설치하거나 안드로이드 디바이스를 다시 설정해보는 것도 고려해 볼 수 있습니다.

 
 
728x90
반응형

댓글