Иони c 5 / конденсатор ERR_CLEARTEXT_NOT_PERMITTED при работе на устройстве Android - PullRequest
0 голосов
/ 29 марта 2020

Я использую Конденсатор для сборки приложения Ioni c. Это следующие команды, запускаемые для открытия приложения android в Android Studio.

npx cap add android
ionic build
npx cap copy
npx cap open android

В Android Studio, я запустил сборку и нажал Run, после чего я вижу ошибку net::ERR_CLEARTEXT_NOT_PERMITTED в моем устройстве. Я видел разные посты с одинаковыми ошибками, но с постами Cordova. В моем случае я не использую Cordova для подготовки приложения android.

error-message

Вот несколько выдержек из моего приложения Ioni c .

capacitor.config.json file

{
  "appId": "com.abc",
  "appName": "abc",
  "bundledWebRuntime": false,
  "npmClient": "npm",
  "webDir": "www",
  "cordova": {
    "preferences": {
      "ScrollEnabled": "false",
      "android-minSdkVersion": "19",
      "BackupWebStorage": "none",
      "SplashMaintainAspectRatio": "true",
      "FadeSplashScreenDuration": "0",
      "SplashShowOnlyFirstTime": "false",
      "SplashScreen": "none",
      "SplashScreenDelay": "0"
    }
  },
  "server": {
    "url": "http://192.168.1.208:8100"
  }
}

Я также вижу эту ошибку в LogCat Android Studio

W/cr_AwContents: Application attempted to call on a destroyed WebView
    java.lang.Throwable
        at org.chromium.android_webview.AwContents.a(PG:127)
        at org.chromium.android_webview.AwContents.a(PG:209)
        at com.android.webview.chromium.WebViewChromium.evaluateJavaScript(PG:8)
        at android.webkit.WebView.evaluateJavascript(WebView.java:1113)
        at com.getcapacitor.cordova.MockCordovaWebViewImpl$1.run(MockCordovaWebViewImpl.java:203)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6923)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:870)

Ответы [ 3 ]

1 голос
/ 29 марта 2020

Добавьте это к вам AndroidManifest.xml в элементе application

<application
    android:usesCleartextTraffic="true"
0 голосов
/ 04 апреля 2020

просто запустите эту команду:

ionic capacitor run android -l --ssl
0 голосов
/ 29 марта 2020

Эта запись помогла мне найти решение моей проблемы.

Я удалил поле server в файле конденсатор.конфиг. json в заставить его работать.

"server": {
    "url": "http://localhost:8100"
}

Теперь мой конденсатор.конфиг. json выглядит как

{
  "appId": "com.abc",
  "appName": "abc",
  "bundledWebRuntime": false,
  "npmClient": "npm",
  "webDir": "www",
  "cordova": {
    "preferences": {
      "ScrollEnabled": "false",
      "android-minSdkVersion": "19",
      "BackupWebStorage": "none",
      "SplashMaintainAspectRatio": "true",
      "FadeSplashScreenDuration": "0",
      "SplashShowOnlyFirstTime": "false",
      "SplashScreen": "none",
      "SplashScreenDelay": "0"
    }
  }
}
...