How to Remove a Permission from my game?

  • Shubi Yeah that sounds like exactly the sort of thing that can break things! The Chromium team would probably be interested in that, but it would be a low priority fix I think. Also it would take a fair bit of effort to get a good reproduction I expect. As you've found a way to workaround it I think we should just be happy with that.

    Hope the next submission goes well.

  • The new setting in r169 did not have any effect on my games. Even a small project with just basic plugins still require both android.permission.READ_EXTERNAL_STORAGE and android.permission.WRITE_EXTERNAL_STORAGE for me :(

    Anyone experienced any difference for their projects?

  • I can verify that when I removed the Share plugin these two permissions was no longer required:

    android.permission.READ_EXTERNAL_STORAGE

    android.permission.WRITE_EXTERNAL_STORAGE

    I guess this is since the plugin can be used to share photos? Nepeo

    But for me in my project I really just wanted to "share" a link to someone on whatsup/messanger, but since the app then requires permissions to read and write to your sd card then I think I will remove the share button now.. :)

  • I think when sharing anything other than text the share plugin has to save the content to public storage somewhere, which is probably why it has it. We actually already forked the share plugin a while back to workaround an issue. So we can make changes to it if we need to.

    Thanks for telling me about this, I will take a look at the plugin and try to decide what the best action to take is.

  • fredriksthlm I have yet to see a single APK with the READ_EXTERNAL_STORAGE permission on, can you confirm what method you are using to check what permissions are on the APK?

    I looked at the share plugin, and it does require the WRITE_EXTERNAL_STORAGE permission. But only for sharing remote files/images. It's fairly trivial to remove, and we don't currently expose an action for doing that so should be a safe enough change. If we do add one in future then the permission check box can be used.

  • fredriksthlm I have yet to see a single APK with the READ_EXTERNAL_STORAGE permission on, can you confirm what method you are using to check what permissions are on the APK?

    I looked at the share plugin, and it does require the WRITE_EXTERNAL_STORAGE permission. But only for sharing remote files/images. It's fairly trivial to remove, and we don't currently expose an action for doing that so should be a safe enough change. If we do add one in future then the permission check box can be used.

    It would be nice to have that permissions removed :)

    The only thing I do is to export from C3 (this project used C2runtime). Then when I upload the build to Google Play Console I can see the permissions required for the build (I can then of course also see the permissions in Google Play on the phone).

    This, version 103, with share plugin:

    Version 104, share plugin removed (nothing else changed!):

    (Also a side note, I don't understand why any of your plugins require WAKE_LOCK?)

  • I believe the Admob SDK requests WAKE_LOCK, NETWORK_STATE & BIND_GET_INSTALL_REFERRER_SERVICE, it's not something we specify. I expect WAKE_LOCK is used for full screen adverts.

    I've updated the Share plugin, I believe the new versions should already be included in builds.

    Mmm I've been using the aapt CLI command to inspect APKs. Either there is a plugin I'm not aware of using READ_EXTERNAL_STORAGE, or the play store adds it if your using WRITE_EXTERNAL_STORAGE for some reason.

    What other mobile orientated plugins are you using?

    Share, Mobile Advert and... ?

  • I am using GooglePlay plugin, and I believe BIND_GET_INSTALL_REFERRER_SERVICE is from GooglePlay :)

    Ah, it sounds plausible that the ad-plugins uses wake lock and network state!

  • I did some test builds to see what the results were for various plugins:

    Google Play

    • android.permission.ACCESS_NETWORK_STATE

    Mobile Advert

    • android.permission.ACCESS_NETWORK_STATE
    • android.permission.WAKE_LOCK
    • com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE

    Share

    • none

    Mobile IAP

    • com.android.vending.BILLING

    Additionally I tried uploading an APK to the Google Play Console to see if WRITE also caused READ to appear. It doesn't, so something is explicitly adding the READ permission in your app, but I'm not sure what it is at the moment.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Wow, thank you for this! This will help a lot!

    It's strange though since every build I have ever built will always require READ if it adds WRITE permissions for me. And when I have removed the thing (share plugin in this case) that required WRITE also the READ would disappear.

    I am only using your official plugins. Usually exported with api 22 or 23. (often though c2runtime, if that strangely could have any impact..?)

    All plugins used:

  • The C2 runtime and the C3 runtime both include some cordova plugins by default, and they vary slightly. So it's possible. I'll try recreating your project as close as I can and see if I get the permission.

  • Buildfall is featured.

    Thanks everyone for helping me work out the permission issues.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)