Fair enough. I have since been able to pull these logs from a device:
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: Rejecting re-init on previously-failed class java.lang.Class<androidx.webkit.internal.WebViewRenderProcessClientFrameworkAdapter>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/WebViewRenderProcessClient;
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void androidx.webkit.WebViewCompat.addWebMessageListener(android.webkit.WebView, java.lang.String, java.util.Set, androidx.webkit.WebViewCompat$WebMessageListener) (WebViewCompat.java:671)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.MessageHandler.<init>(com.getcapacitor.Bridge, android.webkit.WebView, org.apache.cordova.PluginManager) (MessageHandler.java:36)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.Bridge.<init>(androidx.appcompat.app.AppCompatActivity, com.getcapacitor.ServerPath, androidx.fragment.app.Fragment, android.webkit.WebView, java.util.List, java.util.List, com.getcapacitor.cordova.MockCordovaInterfaceImpl, org.apache.cordova.PluginManager, org.apache.cordova.CordovaPreferences, com.getcapacitor.CapConfig) (Bridge.java:209)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.Bridge.<init>(androidx.appcompat.app.AppCompatActivity, com.getcapacitor.ServerPath, androidx.fragment.app.Fragment, android.webkit.WebView, java.util.List, java.util.List, com.getcapacitor.cordova.MockCordovaInterfaceImpl, org.apache.cordova.PluginManager, org.apache.cordova.CordovaPreferences, com.getcapacitor.CapConfig, com.getcapacitor.Bridge-IA) (Bridge.java:-1)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at com.getcapacitor.Bridge com.getcapacitor.Bridge$Builder.create() (Bridge.java:1519)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.BridgeActivity.load() (BridgeActivity.java:42)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.BridgeActivity.onCreate(android.os.Bundle) (BridgeActivity.java:36)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7327)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7318)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1271)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:3094)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at android.app.Activity android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions, android.content.Intent) (ActivityThread.java:3257)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.servertransaction.LaunchActivityItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (LaunchActivityItem.java:78)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.servertransaction.TransactionExecutor.executeCallbacks(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:108)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:68)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1948)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.os.Looper.loop() (Looper.java:214)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7050)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:494)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:965)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.WebViewRenderProcessClient" on path: DexPathList[[zip file "/data/app/com.switchdin.mobile.ionic-SDxddRSJNxmpp9hBo9ltnA==/base.apk"],nativeLibraryDirectories=[/data/app/com.switchdin.mobile.ionic-SDxddRSJNxmpp9hBo9ltnA==/lib/arm64, /data/app/com.switchdin.mobile.ionic-SDxddRSJNxmpp9hBo9ltnA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void androidx.webkit.WebViewCompat.addWebMessageListener(android.webkit.WebView, java.lang.String, java.util.Set, androidx.webkit.WebViewCompat$WebMessageListener) (WebViewCompat.java:671)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.MessageHandler.<init>(com.getcapacitor.Bridge, android.webkit.WebView, org.apache.cordova.PluginManager) (MessageHandler.java:36)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.Bridge.<init>(androidx.appcompat.app.AppCompatActivity, com.getcapacitor.ServerPath, androidx.fragment.app.Fragment, android.webkit.WebView, java.util.List, java.util.List, com.getcapacitor.cordova.MockCordovaInterfaceImpl, org.apache.cordova.PluginManager, org.apache.cordova.CordovaPreferences, com.getcapacitor.CapConfig) (Bridge.java:209)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.Bridge.<init>(androidx.appcompat.app.AppCompatActivity, com.getcapacitor.ServerPath, androidx.fragment.app.Fragment, android.webkit.WebView, java.util.List, java.util.List, com.getcapacitor.cordova.MockCordovaInterfaceImpl, org.apache.cordova.PluginManager, org.apache.cordova.CordovaPreferences, com.getcapacitor.CapConfig, com.getcapacitor.Bridge-IA) (Bridge.java:-1)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at com.getcapacitor.Bridge com.getcapacitor.Bridge$Builder.create() (Bridge.java:1519)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.BridgeActivity.load() (BridgeActivity.java:42)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.getcapacitor.BridgeActivity.onCreate(android.os.Bundle) (BridgeActivity.java:36)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7327)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7318)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1271)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:3094)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at android.app.Activity android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions, android.content.Intent) (ActivityThread.java:3257)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.servertransaction.LaunchActivityItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (LaunchActivityItem.java:78)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.servertransaction.TransactionExecutor.executeCallbacks(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:108)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:68)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1948)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.os.Looper.loop() (Looper.java:214)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7050)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:494)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:965)
12-07 09:12:31.794 16984 16984 I in.mobile.ioni:
Here are the dependencies before the upgrade:
{
"@angular/animations": "^16.1.5",
"@angular/cdk": "^16.1.5",
"@angular/common": "^16.1.5",
"@angular/core": "^16.1.5",
"@angular/fire": "^7.6.1",
"@angular/forms": "^16.1.5",
"@angular/material": "^16.1.5",
"@angular/material-moment-adapter": "^16.1.5",
"@angular/platform-browser": "^16.1.5",
"@angular/platform-browser-dynamic": "^16.1.5",
"@angular/pwa": "^16.1.4",
"@angular/router": "^16.1.5",
"@angular/service-worker": "^16.1.5",
"@ionic-native/android-permissions": "5.36.0",
"@ionic-native/barcode-scanner": "5.36.0",
"@ionic-native/core": "5.36.0",
"@ionic-native/date-picker": "5.36.0",
"@ionic-native/device": "5.36.0",
"@ionic-native/http": "5.36.0",
"@ionic-native/location-accuracy": "5.36.0",
"@ionic-native/screen-orientation": "5.36.0",
"@ionic-native/splash-screen": "5.36.0",
"@ionic/angular": "^7.1.3",
"@ionic/cli": "^7.1.1",
"@ionic/core": "^7.1.3",
"@ionic/storage": "^4.0.0",
"@ionic/storage-angular": "^4.0.0",
"@ngrx/component": "^16.1.0",
"@ngrx/component-store": "^16.1.0",
"@ngrx/data": "^16.1.0",
"@ngrx/effects": "^16.1.0",
"@ngrx/entity": "^16.1.0",
"@ngrx/router-store": "^16.1.0",
"@ngrx/store": "^16.1.0",
"@ngx-translate/core": "^15.0.0",
"@ngx-translate/http-loader": "^8.0.0",
"@types/plotly.js": "^2.12.24",
"cordova-browser": "^7.0.0",
"cordova-plugin-add-swift-support": "^2.0.2",
"cordova-plugin-advanced-http": "^3.3.1",
"cordova-plugin-android-permissions": "^1.1.5",
"cordova-plugin-datepicker": "^0.9.3",
"cordova-plugin-device": "^2.1.0",
"cordova-plugin-file": "^8.0.0",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^5.0.0",
"cordova-plugin-request-location-accuracy": "^2.3.0",
"cordova-plugin-screen-orientation": "^3.0.3",
"cordova-plugin-splashscreen": "^6.0.2",
"cordova-plugin-wifiwizard2": "^3.1.1",
"firebase": "^10.2.0",
"html5-qrcode": "^2.3.8",
"jasmine-marbles": "^0.9.2",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
"luxon": "^3.3.0",
"mixpanel-browser": "^2.47.0",
"moment": "^2.29.4",
"moment-timezone": "^0.5.43",
"mqtt": "^4.3.7",
"ngx-mqtt": "^16.1.0",
"plotly.js-dist": "^2.24.3",
"rxjs": "^7.8.1",
"swiper": "^10.0.4",
"tslib": "^2.6.0",
"wifiwizard2": "^3.1.1",
"zone.js": "^0.13.1"
}
After:
{
"@analytics/mixpanel": "^0.4.0",
"@angular/animations": "^16.1.5",
"@angular/cdk": "^16.1.5",
"@angular/common": "^16.1.5",
"@angular/compiler": "^16.1.5",
"@angular/core": "^16.1.5",
"@angular/forms": "^16.1.5",
"@angular/material": "^16.1.5",
"@angular/material-moment-adapter": "^16.1.5",
"@angular/platform-browser": "^16.1.5",
"@angular/platform-browser-dynamic": "^16.1.5",
"@angular/pwa": "^16.1.4",
"@angular/router": "^16.1.5",
"@angular/service-worker": "^16.1.5",
"@awesome-cordova-plugins/wifi-wizard-2": "^6.4.0",
"@capacitor-community/sqlite": "5.2.3",
"@capacitor/android": "^5.0.0",
"@capacitor/app": "^5.0.0",
"@capacitor/core": "^5.0.0",
"@capacitor/device": "^5.0.0",
"@capacitor/filesystem": "^5.0.0",
"@capacitor/geolocation": "^5.0.0",
"@capacitor/haptics": "^5.0.0",
"@capacitor/ios": "^5.0.0",
"@capacitor/keyboard": "^5.0.0",
"@capacitor/splash-screen": "^5.0.0",
"@capacitor/status-bar": "^5.0.0",
"@ionic/angular": "^7.1.3",
"@ionic/storage": "^4.0.0",
"@ionic/storage-angular": "^4.0.0",
"@ngrx/component": "^16.1.0",
"@ngrx/component-store": "^16.1.0",
"@ngrx/data": "^16.1.0",
"@ngrx/effects": "^16.1.0",
"@ngrx/entity": "^16.1.0",
"@ngrx/router-store": "^16.1.0",
"@ngrx/store": "^16.1.0",
"@ngx-translate/core": "^15.0.0",
"@ngx-translate/http-loader": "^8.0.0",
"@sentry/angular-ivy": "^7.81.1",
"@sentry/capacitor": "^0.15.0",
"@sentry/cli": "^2.22.3",
"@trapezedev/configure": "^7.0.10",
"@types/plotly.js": "^2.12.24",
"analytics": "^0.8.9",
"cordova-plugin-wifiwizard2": "^3.1.1",
"firebase": "^10.2.0",
"html5-qrcode": "^2.3.8",
"ionicons": "^7.0.0",
"jasmine-marbles": "^0.9.2",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
"luxon": "^3.3.0",
"moment": "^2.29.4",
"moment-timezone": "^0.5.43",
"mqtt": "^4.3.7",
"ngx-mqtt": "^16.1.0",
"plotly.js-dist": "^2.24.3",
"rxjs": "^7.8.1",
"swiper": "^10.0.4",
"ts-deep-pick": "^0.2.2",
"tslib": "^2.6.0",
"zone.js": "^0.13.1"
}
Capacitor config:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.switchdin.mobile.ionic',
appName: 'Stormcloud',
webDir: 'www',
server: {
androidScheme: 'https',
hostname: 'stormcloudapp',
cleartext: true,
},
plugins: {
SplashScreen: {
launchShowDuration: 4000,
launchAutoHide: true,
launchFadeOutDuration: 300,
},
},
};
export default config;
π Capacitor Doctor π
Latest Dependencies:
@capacitor/cli: 5.5.1
@capacitor/core: 5.5.1
@capacitor/android: 5.5.1
@capacitor/ios: 5.5.1
Installed Dependencies:
@capacitor/cli: 5.5.1
@capacitor/core: 5.5.1
@capacitor/android: 5.5.1
@capacitor/ios: 5.5.1
[success] iOS looking great! π
[success] Android looking great! π