작성
·
15
0
로컬에서는 분명히 문제 없이 DB에 접속이 되는데
빌드를 해서 apk파일을 만들어서 안드로이드 기기에 설치를 하면 network error가 나네요
app.json 파일에
"android": {
"usesCleartextTraffic": true,
이렇게 설정을 했는데도 네트워크 오류가 나는데 이것 말고 더 수정해야하는 내용이 있을까요?
환경 설정은
여기와 동일합니다.
답변 2
0
서버 아이피랑 포트는 화면으로 찍어봤는데 정상 아이피와 포트로 잘 나왔어요.
이리저리 수정하면서 정리된 부분이
app.json파일에
"android": { "usesCleartextTraffic": true }
이렇게 했었고.
eas.json에서
app:assembleRelease
이렇게 하니까 해결이 됐네요..
검색하면서 다른 부분도 이리저리 만진 것 같은데 일단 파악되는 부분인 이 두 가지는 확실한 것 같네요.
AndroidManifest.xml 파일도 좀 수정했고, xml 폴더에
network_security_config.xml, secure_store_backup_rules.xml, secure_store_data_extraction_rules.xml 이 3개 파일도 추가를 하기는 했는데 이 파일들을 추가하고 테스트를 했을때는 해결이 안되서 이 부분은 직접적인 원인은 아닌 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 인프러너님.
안드로이드 기기에서 네트워크 오류가 발생할 수 있는 몇 가지 이유와 해결책을 안내드리겠습니다. 문제를 해결하기 위해 다음과 같은 점들을 확인해보시기 바랍니다:
로컬 서버 연결: 기기에서 서버에 접근할 수 있도록 현재 애플리케이션이 실행되는 기기와 서버가 동일 네트워크(동일한 Wi-Fi)에 연결되어 있는지 확인해야 합니다. 만약 서로 다른 네트워크에 있다면 연결이 되지 않을 수 있습니다.
IP 주소 설정: localhost
대신 실제 서버의 IP 주소를 사용하는지 확인하세요. 특히 안드로이드 에뮬레이터의 경우, 10.0.2.2
를 사용합니다. 실제 기기에서는 서버의 로컬 IP 주소를 명시해야 합니다.
방화벽 확인: 사용 중인 방화벽이 로컬 서버의 포트를 차단하고 있지 않은지 확인하세요. 포트가 외부 연결을 허용하도록 설정되어 있어야 합니다.
포트 번호 설정: 올바른 포트 번호를 사용하고 있는지 확인합니다. 서버가 실행 중인 포트 번호와 매칭되어야 합니다.
안드로이드 퍼미션: AndroidManifest.xml
파일에서 <uses-permission android:name="android.permission.INTERNET"/>
에 대한 설정이 제대로 되어 있는지 확인하세요. 앱이 인터넷에 접근할 권한을 명확히 부여해야 합니다.
관련 도움이 될만한 기존 질문은 네트워크 연결 문제 해결 방법에서 더 많은 정보를 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
서버아이피와 포트로 했어요.
http로 해서 "usesCleartextTraffic": true, 이 값을 추가했어요
노트북의 애뮬레이터나 시뮬레이터는 앱을 실행하면 정상적으로 DB에 연결이 되서 api를 호출하는데 apk파일을 만들어서 실제 기기에서 파일을 받아서 하면 Network Error가 뜨네요.