Meteor-Community-Packages / raix-push

DEPRECATED: Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox)
https://atmospherejs.com/raix/push
MIT License
515 stars 197 forks source link

No notifications are shown on Android 8 devices #334

Open Sewdn opened 6 years ago

Sewdn commented 6 years ago

Hi!

I have been able to send notifications to android users in the past, using an older version of this package and cordova:phonegap-plugin-push. However, I wasn't able to send to Android 8 devices. I was using GCM, and decided to switch to FCM.

I therefor updated to the newest version of plugin-push (allowed by the cordova-android version in meteor):

When I now send notifications, all iOS devices receive their messages correctly, but none are sent to android devices:

Push: Sent message "hello" to 1 ios apps 0 android apps

I didn't change my configuration files, but I added google-services.json in cordova-build-override/platforms/android in order to configure FCM. I also added build-extra.gradle following the suggestion of this comment: https://github.com/meteor/meteor/issues/7600#issuecomment-368101400

I'm using the new Cloud Messaging API keys from https://console.firebase.google.com/u/0/project/pentu-ad4be/settings/cloudmessaging.

In google-services.json a different API key is used then what is added to settings (I suppose this being a generic API key voor Firebase services). (I tried changing configuration to use the same Key as well).

Even for different combinations of the same user having multiple registered devices (both iOS and Android, only Android 7, only Android 8, both android 7 and 8, ...), none of the android devices are receiving messages. Users that were receiving messages with the older versions and GCM, no longer receive messages (with the same device registration data in their user profile).

I suppose something is going wrong server-side, when sending requests to firebase services, (because the app keeps logging 0 android apps). I dont see any other logs, so I don't know if the server side code is not sending requests at all, or no valid request is being sent.

Feels like I have tried everything. What do you suggest to further debug the issue? :/

Thanks!

Sewdn commented 6 years ago

I did some further digging.

FCM should be supported, since this package depends on node-gcm@0.14.4, and FCM is supported since 0.14.1 (cfr. https://github.com/ToothlessGear/node-gcm/blob/master/README.md).

The problem is not server-side, but on the client.

No GCM tokens are being registered for android devices (in the _raix_push_app_tokens collection). This is the case for all phonegap-plugin-push@2.x.x versions.

When using phonegap-plugin-push@2.x.x a google-services.json is needed, or your get build errors like:

Errors executing Cordova commands:         

   While running Cordova app for platform Android with options --device:
   Error: Command failed:                     
   /[path_to_app]/.meteor/local/cordova-build/platforms/android/cordova/run
   --device
   FAILURE: Build failed with an exception.

   * What went wrong:
   Execution failed for task ':processDebugGoogleServices'.
   > File google-services.json is missing. The Google Services Plugin cannot function without it. 
   Searched Location: 
   /[path_to_app]/.meteor/local/cordova-build/platforms/android/src/debug/google-services.json
   /[path_to_app]//.meteor/local/cordova-build/platforms/android/google-services.json

Also, build-extra.gradle is needed in the cordova-build-override( following the suggestion of this comment: ), or you get errors about he advmanifest that is missing.

I tried the FCM format of the SenderID in config.xml, like described here (https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md#co-existing-with-plugins-that-use-firebase), but no result.

When I revert everything back to phonegap-plugin-push@1.8.4 with the documented configuration, it all works, but Android 8 devices are not showing notifications. It seems the notifcation is sent, but is not being display. This is the log of a fatal cash on Android 8 when receiving a notification:

04-12 22:44:00.489 12911 31146 I EventLogSendingHelper: Sending log events.
04-12 22:44:05.967  1735  4201 W ActivityManager: Background start not allowed: service Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010 pkg=com.pentu_game.play cmp=com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService (has extras) } to com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService from pid=31590 uid=10176 pkg=com.pentu_game.play
04-12 22:44:05.972 31590 31590 D AndroidRuntime: Shutting down VM
--------- beginning of crash
04-12 22:44:05.981 31590 31590 E AndroidRuntime: FATAL EXCEPTION: main
04-12 22:44:05.981 31590 31590 E AndroidRuntime: Process: com.pentu_game.play, PID: 31590
04-12 22:44:05.981 31590 31590 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver com.google.android.gms.gcm.GcmReceiver: java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010 pkg=com.pentu_game.play cmp=com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService (has extras) }: app is in background uid UidRecord{dcc45a0 u0a176 RCVR bg:+3m5s907ms idle procs:1 seq(0,0,0)}
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.app.ActivityThread.handleReceiver(ActivityThread.java:3280)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.app.ActivityThread.-wrap17(Unknown Source:0)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1690)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:105)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:164)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6592)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010 pkg=com.pentu_game.play cmp=com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService (has extras) }: app is in background uid UidRecord{dcc45a0 u0a176 RCVR bg:+3m5s907ms idle procs:1 seq(0,0,0)}
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1520)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.app.ContextImpl.startService(ContextImpl.java:1476)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.content.ContextWrapper.startService(ContextWrapper.java:644)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.content.ContextWrapper.startService(ContextWrapper.java:644)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.support.v4.content.WakefulBroadcastReceiver.startWakefulService(WakefulBroadcastReceiver.java:89)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at com.google.android.gms.gcm.GcmReceiver.doStartService(Unknown Source:23)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at com.google.android.gms.gcm.GcmReceiver.zzd(Unknown Source:0)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at com.google.android.gms.gcm.GcmReceiver.onReceive(Unknown Source:106)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    at android.app.ActivityThread.handleReceiver(ActivityThread.java:3273)
04-12 22:44:05.981 31590 31590 E AndroidRuntime:    ... 8 more
04-12 22:44:05.994  1735  1798 I ActivityManager: Showing crash dialog for package com.pentu_game.play u0
04-12 22:44:10.225 12518 12600 D ClClient: Not sending keepalive.  Current connection state=STOPPED
04-12 22:44:10.603 31945 31945 E QCALOG  : [mlid] Failed to load libminksocket
04-12 22:44:10.951  3067  3067 W GCM     : Force release of GOOGLE_C2DM lock

This issue is documented here: https://github.com/phonegap/phonegap-plugin-push/issues/1949 And the solution is merged in the 2.1.0 release, but raix:push doesnt seem to work with 2.x.x versions of phonegap-plugin-push.

Sewdn commented 6 years ago

@raix sorry to draw this ticket to your attention, but I feel it's rather urgent. Currently no Android 8 device (rapidly growing user group) is showing notifications for every meteor cordova app using this package. Could you please confirm there is indeed a problem using this package in combination with phonegap-plugin-push@>2.1.x?

I'm willing to contribute if you don't have the time to, If you point me in the right direction.

raix commented 6 years ago

@Sewdn We might need to upgrade the phonegap-plugin-push to v1.11.0 - we could also investigate upgrading to 2.x - it's a major version bump so I'd expect some api changes - but it might not be that bad

I would take a pr and assist if needed, the main code to look at would be lib/cordova.js

ref: https://github.com/phonegap/phonegap-plugin-push/blob/master/CHANGELOG.md

Sewdn commented 6 years ago

Ok, starting on it today.

I will pin the phonegap-plugin-push at 2.1.3 (and will test and develop against this version), since 2.2.x needs cordova-android 7.1.0 and Meteor 1.6.1.1 has support for cordova-android 6.4.0

Plugin doesn't support this project's cordova-android version. cordova-android: 6.4.0, failed version requirement: >=7.1.0
Sewdn commented 6 years ago

There is not much to be changed in the phonegap-plugin-push wrapping of raix:push. Bumping to phonegap-plugin-push@2.1.3 and leaving lib/cordova.js unchanged, should work out of the box.

Support in Android 8 for Channel Groups (https://developer.android.com/guide/topics/ui/notifiers/notifications.html#ManageChannels) and Channel Badges is supported out-of-the box in phonegap-plugin-push and needs no change on the lib/cordova.js since the API is backwards compatible. New methods are introduced to list, create, subscribe, unsubscribe and delete channels, but default behaviour shouldn't be affected (since a default Channel Group is created on Android 8 devices).

However, there are some other breaking issues before being able to bump to phonegap-plugin-push@2.x.

No support in Meteor 1.6.1.1 for android-cordova 7.1.0

Meteor 1.6.1.1 has pinned cordova-android on 6.3.0. As long as MDG doesnt upgrade to android-cordova 7.1.0 phonegap-plugin-push@>2.2.x can't be used. This leaves us currently at using phonegap-plugin-push@2.1.3

android-cordova@7.1.0 is a release of Feb 21, 2018: https://github.com/apache/cordova-android/releases

Previous android-cordova upgrade was done in Meteor 1.6.1: https://github.com/meteor/meteor/pull/9213

Google Services dependency, adding google-services.json config

When using phonegap-plugin-push@2.x, a dependency is added on Google Services. Configuration of google services should be done by adding a google-services.json to your cordova-build.

It is currently not possible adding this resource using mobile-config.js. One should add google-services.json to cordova-build-override and after builing change config.xml to add this resource.

If you dont want to change config.xml after build, you can try to add the resources in a deeper nested directory cordova-build-override/platforms/android so you dont need to map the resource since it resides in the default location.

There is no other way adding this configuration file. Trying to add the resource to the config.xml from mobile-config.js manually, will result in other missing assets:

App.appendToConfig(`
  <platform name="android">
    <resource-file src="../../../google-services.json" target="google-services.json"/>
  </platform
`);

There is however a pull request being merged in Meteor@1.7 release, allowing for additional resources to be declared in mobile-config.js: https://github.com/meteor/meteor/pull/9748

The Meteor Cordova plugin breaks how 3rd party cordova plugins add extra gradle file

When a Cordova plugin declares post build configuration for gradle, using ext.postBuildExtras, this will break the ext.postBuildExtras from Meteor that is building the cdvassets.manifest (https://github.com/meteor/cordova-plugin-meteor-webapp/blob/master/src/android/build-extras.gradle)

This issue is described here: https://github.com/meteor/meteor/issues/7600

This seems strange to me, since the meteor plugin declares this extra gradle reference the way Cordova describes it (https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#extending-buildgradle):

phonegap-plugin-push@>2.1.3 adds the google-services dependency in custom gradle file: https://github.com/phonegap/phonegap-plugin-push/blob/v2.1.3/push.gradle

phonegap-plugin-push@master removes this configuration in its upcoming release (https://github.com/phonegap/phonegap-plugin-push/commit/fe6cb91cb250a3dad894857ece81da553af37d09) and leaves this to a separate cordova plugin cordova-support-google-services (https://github.com/chemerisuk/cordova-support-google-services), where dependency on the crucial google-services is being declared, that will pick-up and parse google-services.json and communicate with firebase services.

Adding both phonegap-plugin-push@>2.1.3 and cordova-support-google-services will not fix since both packages extras gradle files are not being used during build when used in combination with meteor-cordova-plugin.

raix commented 6 years ago

Nice investigation @Sewdn - thank you for looking into upgrading

etyp commented 6 years ago

@sewdn sorry for the lack of context but I'm on mobile, my phone is dying and I don't want to forget to respond to you. Below is the markdown for the (sloppy) way we got around this and got Android push working again.

Building Android (post Meteor 1.6.1)

Building for Android has become crazy complex due to Cordova plugin conflicts between the Google+ Cordova plugin included from Meteor Google Accounts and phonegap-plugin-push used by raix:push. See my issue on the phonegap-plugin-push repo.

Pre-requisites (already committed to git):

Build steps

  1. Clear out current Cordova build rm- rf .meteor/local/cordova-build

  2. Remove and re-add platforms meteor remove-platform ios android then meteor add-platform ios android (will fail but get enough started for next step)

  3. Move google-services.json into .meteor/local/cordova-build/google-services.json using cp cordova-build-override/google-services.json .meteor/local/cordova-build/google-services.json

  4. Re-add the platforms one more time meteor add-platform ios android

  5. Build once to fail npm run dev-android (we'll fail a lot here)

  6. Edit .meteor/local/cordova-build/platforms/android/project.properties to have 12.0.1 verions for all google services: cordova.system.library.4=com.google.firebase:firebase-messaging:12.0.1,cordova.system.library.5=com.google.android.gms:play-services-auth:12.0.1 and cordova.system.library.6=com.google.android.gms:play-services-identity:12.0.1

  7. Edit the same project.properties so com.android.support:support is com.android.support:support-v13:27.+

  8. Run npm run dev-android again - app will start but not work yet. Leave the server running from this.

  9. Open .meteor/local/cordova-build/platforms/android in Android studio (hint: open directory in Finder and drag it to Android Studio icon since AS has trouble opening hidden files like .meteor)

  10. Once done loading (will take a while), open Gradle Scripts —> build.gradle (Module: android) on the left side of Android Studio

  11. Change "buildscript —> dependencies" item classpath 'com.android.tools.build:gradle:3.0.0' to use 3.1.0 instead of 3.0.0

  12. Under "buildscript —> dependencies" add classpath 'com.google.gms:google-services:3.2.0'

  13. Change the line that specifies Gradle version from gradleVersion = '4.1.0' to gradleVersion = '4.4.0'

  14. Under the sub dependencies (denoted by "// SUB-PROJECT DEPENDENCIES START"), change the following:

    • Remove any duplicates without a version number (if they have a "+" at the end, it’s bad news)
    • Ensure all play-services and firebase libraries are still at the versions you set in project.properties (12.0.1)
    • com.google.android.gms:play-services-auth and com.google.android.gms:play-services-identity to use implementation instead of compile
  15. At the very bottom of the file, add apply plugin: 'com.google.gms.google-services'

  16. Save changes

  17. Go to “Tools —> Android —> Sync Project with Gradle files”

  18. This may result in an error complaining about Gradle version. If it does, click the "Fix Gradle wrapper" link the error displays. Once done, repeat previous step.

  19. Once that’s done, go to "Build —> Clean"

  20. Run debug build to verify things are working (play button with bug in top right corner). If they are, you’ll see "FirebaseInitProvider: FirebaseApp initialization successful" in logcat logs (bottom of Android studio) on app start

Once confirmed to be working, follow standard steps to sign the .apk file and publish to Google Play.

Building for production release

  1. Do all the same as above, but replace npm run dev-android with TZ=utc meteor run android-device --verbose --settings=.deploy_production/settings.json --mobile-server=https://app.hive.com
  2. From terminal, go to root of android project (.meteor/local/cordova-build/platforms/android) and run gradle assemble
  3. Switch into the build output folder cd .meteor/local/cordova-build/platforms/android/build/outputs/apk/release, where you'll see the new .apk file
  4. Sign it with jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/Hive/Hive/private/.keystore android-release-unsigned.apk hive and password h1vet3ams
  5. Zipalign with ~/Library/Android/sdk/build-tools/27.0.3/zipalign 4 android-release-unsigned.apk hive.apk
  6. All done, upload to app store

Building iOS for production release

Before starting, remove the Android platform to avoid build errors meteor remove-platform android. Clear the cordova build folder as well with rm -rf .meteor/local/cordova-build.

  1. meteor run ios-device --settings .deploy_production/settings.json --mobile-server https://app.hive.com
  2. Once built, quit Xcode and open .meteor/local/cordova-build/platforms/ios from Finder
  3. Open Hive.xcworkspace from Finder in Xcode
  4. Go to the Folders option in top left of Xcode and select the top-level Hive project
  5. Go to Build Settings and find the Header Search Paths option
  6. Double click the Header Search Paths Debug and Release options and add "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include" to the top of each list
  7. Expand the Hive project and add the same Header Search Paths option under the CordovaLib project
  8. Build and it should work
  9. Follow other standard steps for iOS build in Xcode to release to app store

Note: If builds still fail after adding the header search paths, go to .meteor/local/cordova-build/platforms/ios from terminal and run pod install.

Sewdn commented 6 years ago

@etyp thanks for your elaborate response and documentation about your build process for Android! I'll look into it shortly.

FelixOBrien commented 6 years ago

Hey, I have a problem in receiving android messages with android 8.1, no error messages or anything. Notifications just don't come through even when the server says that the message was sent successfully. I tried and failed to do the long alternative method with no outcome.

TheRealNate commented 6 years ago

I have the same issue as @FelixOBrien. Push on debug mode is saying messages were a success. I've noticed that even sending directly from the Firebase console does not work.

batcode007 commented 6 years ago

@FelixOBrien @TheRealNate Any updates? Have you guys solved the issue?

TheRealNate commented 6 years ago

I found a possible cause. On 8.0 apps are required to register notification categories. Does anybody know how to do this?

On Fri, Jul 13, 2018, 3:18 AM Naman Gupta notifications@github.com wrote:

@FelixOBrien https://github.com/FelixOBrien @TheRealNate https://github.com/TheRealNate Any updates? Have you guys solved the issue?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/raix/push/issues/334#issuecomment-404748302, or mute the thread https://github.com/notifications/unsubscribe-auth/APg4Q21nPqYx_SJ6Bwm2Ws2rc3dj5fO-ks5uGEmwgaJpZM4TSDcH .

batcode007 commented 6 years ago

Yes, we need to create a channel and then assign a channel id to each type of notification for android 8 and above. But I am not sure how to do it. I read through https://medium.com/exploring-android/exploring-android-o-notification-channels-94cd274f604c but couldn't do the same for this package

TheRealNate commented 6 years ago

I also think this needs to be made into a separate issue because OP is not getting a server log confirming notification being sent while I am. #341

honwlt commented 6 years ago

@etyp Are these steps you mentioned above still required for Meteor 1.7+ & 1.8?

I am running on Meteor 1.8 and phonegap-plugin-push@2.1.3 And still get "Error: String resource ID #0x0" on android's chrome console.

The iOS works fine without any problem and without any modifications in the cordova/plugins/builds and I get notifications.

Appreciate any pointers/help.

Thanks.

etyp commented 6 years ago

@honwlt yeah we recently did a release on Meteor 1.7 and I had to follow the same steps as I posted above. I haven't tried with 1.8 yet since we just updated, but confirmed to have the same issue while on 1.7. The items released in 1.8 don't seem to address anything related so I'd imagine this won't change until a future release.

Let me know if you get stuck trying to follow those steps - I'll see if/where I can help.

killerchip commented 6 years ago

Hello. I'm a bit confused. Does FCM is supported with phonegap-plugin-push v1.11.1(the latest)? or it demands a phonegap-plugin-push of v2.1.x to enable FCM?

When I update phonegap-plugin-push to v2.1.3 with latest raix:push (3.4.1) the mobile app (Android) will crash with meteor run.

Using phonegap-plugin-push v1.11.1 works fine but I'm not sure if it supports FCM. I'm using the google-services.json and all.

Thank you

tparkin commented 6 years ago

I am seeing the same issue as @killerchip

killerchip commented 6 years ago

I'm trying to update my app to using phonegap-plugin-push v2.1.3 but my app is crashing. I updated my app to meteor 1.8, and bumped the phonegap-plugin-push.

I'm using meteor run to run the app in Android v8.0 Emulator. The app builds but when it tries to start it 'crashes'.

The adb logcat command fetches the following: (part of the whole log).

--------- beginning of crash
11-16 10:32:38.412  4507  4507 E AndroidRuntime: FATAL EXCEPTION: main
11-16 10:32:38.412  4507  4507 E AndroidRuntime: Process: io.mydomain.myapplocaldev, PID: 4507
11-16 10:32:38.412  4507  4507 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.meteor.webapp.AssetBundle.getVersion()' on a null object reference
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at com.meteor.webapp.WebAppLocalServer.onReset(WebAppLocalServer.java:188)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at org.apache.cordova.PluginManager.onReset(PluginManager.java:464)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at org.apache.cordova.CordovaWebViewImpl$EngineClient.onPageStarted(CordovaWebViewImpl.java:501)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at org.apache.cordova.engine.SystemWebViewClient.onPageStarted(SystemWebViewClient.java:145)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at com.android.webview.chromium.WebViewContentsClientAdapter.onPageStarted(WebViewContentsClientAdapter.java:532)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:157)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:105)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:164)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6541)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
11-16 10:32:38.412  4507  4507 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
11-16 10:32:38.418  4507  4554 F chromium: [FATAL:jni_android.cc(243)] Please include Java exception stack in crash report
11-16 10:32:38.560  1482  1482 I Zygote  : Process 4507 exited due to signal (31)
11-16 10:32:38.654  1639  3226 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ LISTEN id=8, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ], android.os.BinderProxy@50115ac)
11-16 10:32:38.654  1639  3594 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ LISTEN id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ], android.os.BinderProxy@518d275)
11-16 10:32:38.657  1639  2249 I ActivityManager: Process io.mydomain.myapplocaldev (pid 4507) has died: fore TOP 
11-16 10:32:38.662  1639  3423 I WindowManager: WIN DEATH: Window{ec9346f u0 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity}
11-16 10:32:38.663  1639  1755 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ LISTEN id=8, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ]
11-16 10:32:38.673  4533  4533 I cr_ChildProcessService: Destroying ChildProcessService pid=4533
11-16 10:32:38.690  1639  1755 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ LISTEN id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ]
11-16 10:32:38.697  1639  1650 I WindowManager: WIN DEATH: Window{ab40d77 u0 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity}
11-16 10:32:38.701  1639  1740 W InputDispatcher: channel 'ab40d77 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
11-16 10:32:38.701  1639  1740 E InputDispatcher: channel 'ab40d77 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
11-16 10:32:38.702  1639  1650 W InputDispatcher: Attempted to unregister already unregistered input channel 'ab40d77 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity (server)'
11-16 10:32:38.707  1639  2249 W ActivityManager: Force removing ActivityRecord{95d5242 u0 io.mydomain.myapplocaldev/.MainActivity t9}: app died, no saved state

Anyone else having the same issue?

11-16 10:32:38.412  4507  4507 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.meteor.webapp.AssetBundle.getVersion()' on a null object reference

I'm under the impression that the app does not build correctly.

killerchip commented 6 years ago

@tparkin I solved my issue by adding the extras file that is mentioned in this post: https://github.com/meteor/meteor/issues/7600#issuecomment-383327945.

But I'm still dealing with the error "Error: String resource ID #0x0", but that's the story of this post here :-)