Я загрузил свой проект здесь https://github.com/rezaee/conFusion, но когда я пытаюсь запустить его с помощью tns run android --device Pixel_2_API_29, он открывает мой эмулятор, но показывает это сообщение об ошибке на экране:
Error:0-Unknown Error Http failure response for https://10.0.2.2
Я также пробовал следующие строки, но все они дают ту же ошибку:
export const baseURL = "http://10.0.2.2:3000/";
export const baseURL = "http://192.168.1.5:3000/";
export const baseURL = "http://localhost:3000/";
Почему это происходит и как я могу это исправить?
@Manoj: это дает мне This site can’t be reached 10.0.2.2 took too long to respond.
@Manoj: я нашел это здесь developer.android.com/studio/run/emulator-networking
Могу я узнать, что именно вы пытаетесь здесь сделать, почему вы выбрали этот IP? Если вы пытаетесь получить доступ к каким-либо REST API, размещенным на вашем локальном компьютере или общедоступном сервере, это должен быть IP-адрес этого компьютера.
@Manoj: у меня есть json-сервер, который, когда я запускаю его, смотрит localhost:3000/. Поэтому мне нравится указывать эмулятору, чтобы он смотрел этот адрес и также отображал его содержимое.
У меня есть localhost:3000/dishes, например. Или localhost:3000/images и т. д. Мне нравится говорить эмулятору, что загружает это содержимое.
Затем найдите локальный IP-адрес на вашем компьютере, где вы используете сервер JSON. На Mac вы можете найти его в настройках сети.
@Manoj: У меня Windows10, и когда я запускаю ipconfig, он показывает мне Ethernet adapter VMware Network Adapter VMnet1, Ethernet adapter VMware Network Adapter VMnet8: and адаптер беспроводной локальной сети Wi-Fi`, что у каждого из них есть локальный IP-адрес.
Я использовал 192.168.1.5 для Wireless LAN adapter Wi-Fi, но это не сработало и выдает то же сообщение об ошибке.
Я пробовал все три локальных IP-адреса, но ни один из них не работал!
Если вы не можете получить доступ к API с IP-адресом (например, 192.168.1.5:3000/тарелки), по крайней мере, в браузере на вашем компьютере / Rest Client, вы указываете неправильный IP-адрес. Это не имеет ничего общего с вашим эмулятором Android или NativeScript. Я не пользователь Windows, поэтому не уверен, где можно найти правильный IP. Вы можете просто погуглить.
После месяца попыток я нашел следующий ответ на github NativeScript:
Протестируйте API29, и проблема в том, что вам, вероятно, не хватает разрешения cleartext в файле AndroidManifest.xml.
Установите его здесь: your-application/app/App_Resources/Android/src/main/AndroidManifest.xml
Настройка android:usesCleartextTraffic в AndroidManifest.xml
<application android:name = "com.tns.NativeScriptApplication"
android:allowBackup = "true"
android:icon = "@drawable/opportuity"
android:label = "@string/app_name"
android:theme = "@style/AppTheme"
android:usesCleartextTraffic = "true">
localhostточно не будет работать, так как эмулятор работает в своем собственном контексте, больше похожем на отдельное устройство.http://10.0.2.2:3000- это общедоступный IP-адрес, убедитесь, что он доступен в браузере/остальном клиенте в первую очередь, с моей стороны это не похоже.