내 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/api
Android 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