Я запускаю приложение NativeScript-Vue (TNS Android v5.1.0
) на Mojave v10.14.3
с Android Studio v3.3.1
и Android emulator v28.0.23
.
Используемый мной эмулятор Android (Nexus 6, API 25, Android 7.1.1 (Google APIs), x86
) теряет способностьHTTP-запросы.Запрос зависает на пару минут и в итоге истекает.Я использую axios
в качестве HTTP-клиента для использования удаленного C # .NET API (это клиентский API, поэтому у меня нет прямого доступа к нему).
Я нашел это SO post и испробовал большинство решений.Некоторые из них, казалось, работали, но затем, через несколько минут, проблема повторяется.
Решения, которые я пробовал:
- Стирание данных из эмулятора через менеджер AVD
- Эмулятор холодной загрузки через менеджер AVD
- Созданоновый эмулятор через AVD manager
- Установите статус прокси-сервера эмулятора на «Нет прокси» вместо использования настроек прокси-сервера Android Studio по умолчанию
- Ran
adb kill-server
- Добавлено
8.8.8.8
и 8.8.4.4
в качестве DNS-серверов для моего Mac - Запущен эмулятор с указанным DNS-сервером, например
$ANDROID_HOME/emulator/emulator -avd Nexus_6_API_25 -dns-server 8.8.8.8,8.8.4.4
- Попытка в эмуляторе Genymotion (та же проблема)
- Установить WiFi первымв порядке обслуживания сети
- перезагрузка системы;работает в течение нескольких минут, затем выдает reoccurs
Дополнительная информация:
- Я использую WiFi и недавно не переключался из локальной сети.
- Chrome также не имеет доступа к Интернету.
- Приложение работает должным образом на симуляторе iOS и на физических устройствах Android.
- Я недавно установил Mojave, однако проблема существовала ранее, хотя и не так часто, как казалось.
- JDK-8 и Android-SDK были установлены через Homebrew в соответствии с документами NativeScript здесь .
Я довольно новичок в разработке для мобильных устройств, пожалуйстадайте мне знать, если потребуется дополнительная информация.
Кто-нибудь знает, как я могу решить эту проблему?У меня ограниченный доступ к физическому устройству, поэтому его исправление было бы огромной помощью.Спасибо!
HTTP Пример запроса:
// api/config.js
import axios from "axios";
export default axios.create({
baseURL: "https://testapi.org",
headers: {
"Content-Type": "application/json",
}
});
// store/modules/auth.js
import api from "api/config.js";
const actions = {
login: async function(context, payload) {
try {
const response = await api.post("/api/account/login", payload);
context.dispatch("setUser", response.data.user);
} catch (error) {
console.log(error);
}
}
};
export default {
namespace: true,
actions
};
Выход Logcat:
02-28 14:12:40.742 1722 1816 D ConnectivityService: NetworkAgentInfo [MOBILE (LTE) - 100] validation failed
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: Error sending ping
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: java.net.SocketTimeoutException: SSL handshake timed out
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.google.android.gms.org.conscrypt.NativeSsl.doHandshake(:com.google.android.gms@13280022@13.2.80 (040700-211705629):8)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(:com.google.android.gms@13280022@13.2.80 (040700-211705629):15)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.Connection.connectTls(Connection.java:235)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.Connection.connectSocket(Connection.java:199)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.Connection.connect(Connection.java:172)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:367)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:329)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:246)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:457)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:405)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:521)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at bsc.a(SourceFile:230)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at bsf.run(SourceFile:174)
02-28 14:12:48.271 2939 3095 E GoogleConversionReporter: at java.lang.Thread.run(Thread.java:761)
02-28 14:12:49.375 2651 2932 W Conscrypt: Could not set socket write timeout: java.lang.reflect.InvocationTargetException
02-28 14:12:49.376 2651 2932 W Conscrypt: at java.lang.reflect.Method.invoke(Native Method)
02-28 14:12:49.376 2651 2932 W Conscrypt: at com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@13280022@13.2.80 (040700-211705629):13)
02-28 14:12:49.376 2651 2932 W Conscrypt: Caused by: android.system.ErrnoException: setsockopt failed: EBADF (Bad file descriptor)
02-28 14:12:49.376 2651 2932 W Conscrypt: at libcore.io.Posix.setsockoptTimeval(Native Method)
02-28 14:12:49.376 2651 2932 W Conscrypt: at libcore.io.ForwardingOs.setsockoptTimeval(ForwardingOs.java:157)
02-28 14:12:50.171 2651 2930 W Conscrypt: Could not set socket write timeout: java.lang.reflect.InvocationTargetException
02-28 14:12:50.171 2651 2930 W Conscrypt: at java.lang.reflect.Method.invoke(Native Method)
02-28 14:12:50.171 2651 2930 W Conscrypt: at com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@13280022@13.2.80 (040700-211705629):13)
02-28 14:12:50.172 2651 2930 W Conscrypt: Caused by: android.system.ErrnoException: setsockopt failed: EBADF (Bad file descriptor)
02-28 14:12:50.172 2651 2930 W Conscrypt: at libcore.io.Posix.setsockoptTimeval(Native Method)
02-28 14:12:50.172 2651 2930 W Conscrypt: at libcore.io.ForwardingOs.setsockoptTimeval(ForwardingOs.java:157)
02-28 14:12:50.283 2651 2929 W Conscrypt: Could not set socket write timeout: java.lang.reflect.InvocationTargetException
02-28 14:12:50.284 2651 2929 W Conscrypt: at java.lang.reflect.Method.invoke(Native Method)
02-28 14:12:50.284 2651 2929 W Conscrypt: at com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@13280022@13.2.80 (040700-211705629):13)
02-28 14:12:50.284 2651 2929 W Conscrypt: Caused by: android.system.ErrnoException: setsockopt failed: EBADF (Bad file descriptor)
02-28 14:12:50.284 2651 2929 W Conscrypt: at libcore.io.Posix.setsockoptTimeval(Native Method)
02-28 14:12:50.284 2651 2929 W Conscrypt: at libcore.io.ForwardingOs.setsockoptTimeval(ForwardingOs.java:157)
02-28 14:12:51.482 2651 3200 W Conscrypt: Could not set socket write timeout: java.lang.reflect.InvocationTargetException
02-28 14:12:51.482 2651 3200 W Conscrypt: at java.lang.reflect.Method.invoke(Native Method)
02-28 14:12:51.482 2651 3200 W Conscrypt: at com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@13280022@13.2.80 (040700-211705629):13)
02-28 14:12:51.482 2651 3200 W Conscrypt: Caused by: android.system.ErrnoException: setsockopt failed: EBADF (Bad file descriptor)
02-28 14:12:51.482 2651 3200 W Conscrypt: at libcore.io.Posix.setsockoptTimeval(Native Method)
02-28 14:12:51.482 2651 3200 W Conscrypt: at libcore.io.ForwardingOs.setsockoptTimeval(ForwardingOs.java:157)
02-28 14:13:05.945 5154 5156 I art : Do partial code cache collection, code=30KB, data=30KB
02-28 14:13:05.946 5154 5156 I art : After code cache collection, code=30KB, data=30KB
02-28 14:13:05.946 5154 5156 I art : Increasing code cache capacity to 128KB
02-28 14:13:14.458 2363 5301 E WakeLock: GCM_HB_ALARM release without a matched acquire!