Клиентское приложение GCM в удаленном эмуляторе не может подключиться к локальному серверу Dev

У меня работает эмулятор Genymotion на другом компьютере. Я могу подключиться к этому эмулятору с моей машины разработки (по adb connect 192.168.0.105). Клиентское приложение GCM хорошо работает в эмуляторе этого удаленного компьютера. Когда я пытаюсь зарегистрировать этот эмулятор на моем dev-сервере, он говорит: "Не могу подключиться к 10.0.3.2...). Если adb подключен, почему я не могу подключиться к своему dev-серверу на другом компьютере? эмулятор на той же машине, что и локальный сервер разработки. Я установил рут следующим образом в клиентском приложении

builder.setRootUrl("http://10.0.3.2:8080/_ah/api/")//also tried 192.168.0.100,which is my local dev server ip address

2 ответа

Это может быть связано с видимостью вашего devappserver. Адрес прослушивания по умолчанию - "localhost". Но вы, вероятно, захотите установить его на 0.0.0.0, отредактировав свой build.gradle (если вы используете gradle)

appengine {
   httpAddress = "0.0.0.0"
   ...
}

Подробнее о 0.0.0.0 здесь: https://serverfault.com/questions/228629/is-there-an-official-name-to-the-0-0-0-0-ip-address

Я нашел ваш пост при поиске той же ошибки.

Я обнаружил, что мой AVD не использует правильный образ системы Google API. Шаг 2.3 в следующей ссылке объясняет, что делать для этой проблемы: https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/GcmEndpoints

Другие вопросы по тегам