Godot: Remove godot.* if not in use from the final apk (Android)

Created on 14 Apr 2018  Â·  24Comments  Â·  Source: godotengine/godot

Hi,
I notice that on Godot 2.1.5 when I export the final apk of my game I get in the AndroidManifest.xml a lot of these:

<uses-permission
        android:name="godot.ACCESS_CHECKIN_PROPERTIES" />

It seems Godot use them as placeholder and replace them with the right permissions during the export.

Even if that's fine because those permissions don't exist when I upload on Google Play Console they are detected anyway and it's difficult to spot which permissions has my apk.

How easy it would be to remove them when not in use?
I already spot the specific part of the code (export.cpp function _fix_manifest) to detect the one to remove but I'm not sure how to remove them.

@xsellier Any idea?

bug android porting

Most helpful comment

My game was removed from Play Store because it "collects user data" without a privacy policy. The only way Google would think I may be collecting user data is because of the permissions in the AndroidManifest.xml, so I think it is very important to remove this placeholder permissions, so this doesn't happen to more people.

All 24 comments

This is related to:
https://github.com/godotengine/godot/issues/1813

Those permissions are placeholders, even if they are included in the final APK, android ignore them.

Yes but it show it on Google Play Console.
How easy would be to fix it?

You can see it only in the google play console, because you own the package, but user can't see it when they install it.

Ok, Thank you.

yeah, user won't see those permissions but...
I saw this kind of issue somewhere which was about google complains APK requiring these many unknown permissions.
it could be a problem later.
the best way to solve this for now is removing or commenting out those unused permissions in platform/android/AndroidManifest.xml.template file and compile android templates.

@volzhs Yes that's my current solution. :)

If there's logic in the exporter to replace those placeholders with actual Android permissions, I guess we could add some logic to remove the unused placeholders at the same time?

FWIW, Google Play doesn't display those permissions but F-Droid does, and it looks bad: https://f-droid.org/en/packages/io.github.kobuge.games.minilens/

@akien-mga I had tried it before and I found that we need to read the whole manifest.xml file and rewrite it.
certain xml node in manifest.xml can't be easily just removed.

My game was removed from Play Store because it "collects user data" without a privacy policy. The only way Google would think I may be collecting user data is because of the permissions in the AndroidManifest.xml, so I think it is very important to remove this placeholder permissions, so this doesn't happen to more people.

I use Apktool in godot 2.1.4 stable.

  1. Decode ‫‪android_release.apk‬‬
  2. Remove unnecessary permission in ‫‪AndroidManifest.xml‬‬
  3. build android_release.apk‬‬ again.

This issue @marionauta is because these statements:

Here’s how you can submit your app for another review: 

    Read through the User Data policy and Personal and Sensitive Information article and make the necessary changes to your app.
    Sign in to your Play Console and be sure to include a link to a valid privacy policy on your app's Store Listing page and within your app. You can find more information in our Play Console Help Center.
    Submit your app.

Where? Store presence > Store listing

You need an URL where is your privacy policy :-) and submit again your app.

Thank you @gerardogc2378 , I'm going to do this. The thing is, I shouldn't need to add that link as I have more apps without privacy policy that weren't affected.

The game was taken down after a human review and I'm sure that person saw the list of placeholder permissions, and thought they were the real permissions.

Yes, @gerardogc2378 is right, @marionauta . My apps were removed too. The fast "solution" was to create simple text of "Privacy Policy" and publish it on the web. Helped at least for now ;)

I'm experiencing the same problem as well, and I'm neither collecting or transmitting data. I'm not an expert on the legal side, and actually looking to upload my app again. The main problem I see when people are using a link as a way to provide privacy policy is that for google that shouldn't be enough as:

"Sign in to your Play Console and be sure to include a link to a valid privacy policy on your app's Store Listing page and within your app"

and in this link, under "Your in-app disclosure:" there is more information about how the privacy policy must be withing the app.

So as far as I understand It's necessary to modify the app as well as provide a link to a "privacy policy", which I feel is redundant and not necessary since I'm not collecting any data.

My app was banned too. :(
And that's what they said:

captura de tela de 2018-05-21 21-59-07

My app was removed from Play store too. The google developer support insists on that "godot.CAMERA" etc. request sensitive data... They ignore my claims that "godot._" are only placeholders.
Publishing "Privacy policy" and linking it to apps that do not request any permission seems to me as ugly workaround.

@lukaskotik You can do what @2dvision suggested.

I use Apktool in godot 2.1.4 stable.

Decode ‫‪android_release.apk‬‬
Remove unnecessary permission in ‫‪AndroidManifest.xml‬‬
build android_release.apk‬‬ again.

But remember to use zipalign and apksigner after rebuild your apk.
https://developer.android.com/studio/publish/app-signing?#sign-manually

This seems to be causing an Androidocalypse now (Google recent removals are likely related to global GDPR-induced privacy improvements) as per godotengine/godot-website#56.

Anyone able to provide a good fix for me to include in 2.1.5 in the coming days would be hero of the week :)

@TMM is working on a fix, guess we'll have to release a new 2.1 build soon

On Thu, May 24, 2018 at 4:05 PM Rémi Verschelde notifications@github.com
wrote:

This seems to be causing an Androidocalypse now (Google recent removals
are likely related to global GDPR-induced privacy improvements) as per
godotengine/godot-website#56
https://github.com/godotengine/godot-website/issues/56.

Anyone able to provide a good fix for me to include in 2.1.5 in the coming
days would be hero of the week :)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/18192#issuecomment-391825283,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z22tfVbAlYKXbtlIsYLpLQ8NtS4INks5t1wSMgaJpZM4TU8oz
.

I also contacted Google btw to see if there is anything that can be done

On Thu, May 24, 2018 at 8:28 PM Juan Linietsky reduzio@gmail.com wrote:

@TMM is working on a fix, guess we'll have to release a new 2.1 build soon

On Thu, May 24, 2018 at 4:05 PM Rémi Verschelde notifications@github.com
wrote:

This seems to be causing an Androidocalypse now (Google recent removals
are likely related to global GDPR-induced privacy improvements) as per
godotengine/godot-website#56
https://github.com/godotengine/godot-website/issues/56.

Anyone able to provide a good fix for me to include in 2.1.5 in the
coming days would be hero of the week :)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/18192#issuecomment-391825283,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z22tfVbAlYKXbtlIsYLpLQ8NtS4INks5t1wSMgaJpZM4TU8oz
.

Here is a link explaining how to fix the problem:

https://godotengine.org/article/fixing-godot-games-published-google-play

On Thu, May 24, 2018 at 8:28 PM Juan Linietsky reduzio@gmail.com wrote:

I also contacted Google btw to see if there is anything that can be done

On Thu, May 24, 2018 at 8:28 PM Juan Linietsky reduzio@gmail.com wrote:

@TMM is working on a fix, guess we'll have to release a new 2.1 build soon

On Thu, May 24, 2018 at 4:05 PM Rémi Verschelde notifications@github.com
wrote:

This seems to be causing an Androidocalypse now (Google recent removals
are likely related to global GDPR-induced privacy improvements) as per
godotengine/godot-website#56
https://github.com/godotengine/godot-website/issues/56.

Anyone able to provide a good fix for me to include in 2.1.5 in the
coming days would be hero of the week :)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/18192#issuecomment-391825283,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z22tfVbAlYKXbtlIsYLpLQ8NtS4INks5t1wSMgaJpZM4TU8oz
.

And here's a cross-platform tool to let you fix your existing APKs without having to re-export with a modified one: https://godotengine.org/article/godot-apk-fixer-tool

@hpvb already fixed this issue, so closing

Was this page helpful?
0 / 5 - 0 ratings