Android apps on Meteor 1.5 don't set required permissions

I tried hard to debug my WebRTC app after migrating to Meteor 1.5. One problem was that the local camera could not be accessed. I finally found out that permission granting does not work anymore in Meteor 1.5 as it was at 1.2 times.

You can only see this if you do a production build and install the app. No permissions will be required, even if they have been defined in AndroidManifest.xml. You have to tap on the app in the settings and grant the permissions manually. After that, the app works just fine.

Has there been a major change in how Meteor handles the manifests now? When my app was still on Meteor 1.2, everything worked fine. Or is this related to changes in the permissions management system of Android itself, that have not been reflected in Cordova somehow?

I’ve also found a special cordova plugin that describes that since Android 6, the permissions system has been changed and permissions have to be granted programmatically:

https://www.npmjs.com/package/cordova-plugin-android-permissions

My older app in the app store, based on Meteor 1.2, still works without this plugin. So I can only guess that this is a side-effect of the upgrade to a newer API version of Android in Meteor 1.3+. If so, I think this should be mentioned in the upgrade guide.

2 Likes