내 Ionic 앱이 Android 에뮬레이터에서 내 로컬 노드 서버에 액세스 할 수 없습니다.

Nov 16 2020

Capacitor를 사용하여 Android Emulator에서 React / Ionic 앱을 처음으로 실행하려고합니다. 앱은 Axios를 사용하여 내 로컬 노드 서버에 연결해야합니다.

내 앱이 에뮬레이터에서 성공적으로 시작되는 동안 모든 서버 요청이 실패했습니다. Msg: Error: Network Error

내가 한 단계는 다음과 같습니다.

  • http://10.0.2.2:3001대신에 연결하도록 Axios를 구성 localhost했지만 여전히 요청이 실패합니다.

  • http://10.0.2.2:3001/apiAndroid Emulator Chrome 브라우저에서 URL 을 열었고 내 서버에 연결하고 응답을 반환하는 데 성공 했습니다.

  • 내 capacitor.config.json 파일에 다음 conf를 추가하려고 시도했지만 여전히 앱이 실패합니다.

    "server": {
      "allowNavigation": ["10.0.2.2"]
    }
    

내 앱을 내 로컬 서버에 연결하기 위해 시도해야 할 다른 조언이 있습니까? 감사합니다

답변

1 H-H Nov 16 2020 at 19:10

검색 후 다른 SO 질문 에서 해결책을 찾았습니다 .

  • 문제는 API 레벨 28부터 Android가 기본적으로 금지하는 요청 http대신 내 앱이 사용한다는 사실에서 비롯됩니다 https.

http요청 을 허용 android:usesCleartextTraffic="true"하기 위해 내 앱에AndroidManifest.xml

참고: https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic