Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] When app is compiled with AGP 4.1.3 ('com.android.tools.build:gradle:4.1.3'), the map is blank #2871

Open
3 tasks
ebhsgit opened this issue May 21, 2021 · 4 comments · May be fixed by #2872
Open
3 tasks

Comments

@ebhsgit
Copy link
Contributor

ebhsgit commented May 21, 2021

I'm submitting a ... (check one with "x")

  • question
  • [ X ] any problem or bug report

OS: (check one with "x")

  • [ X ] Android
  • iOS
  • Browser

cordova information: (run $> cordova plugin list)

latest cordova-android master branch

If you use @ionic-native/google-maps, please tell the package.json (only @ionic-native/core and @ionic-native/google-maps are fine mostly)

@ionic-native/core : 4.20.0
@ionic-native/google-maps : ^2.7.0

Cause
I've done some investigation and have isolated the issue to be caused by the change in cordova-android dependency of AGP from version 4.0.x to 4.1.3

Release notes for AGP
https://developer.android.com/studio/releases/gradle-plugin#4-1-0

Current behavior:

App starts with map being blank/white.

Expected behavior:

Shows the map

Screen capture or video record:

Related code, data or error log (please format your code or data):

Most the time no errors in logcat

Occasionally the following error is shown in logcat

 java.lang.AssertionError
     at org.apache.cordova.CordovaPlugin.privateInitialize(CordovaPlugin.java:52)
     at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:178)
     at org.apache.cordova.PluginManager.exec(PluginManager.java:129)
     at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
     at org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
     at android.os.MessageQueue.nativePollOnce(Native Method)
     at android.os.MessageQueue.next(MessageQueue.java:326)
     at android.os.Looper.loop(Looper.java:160)
     at android.os.HandlerThread.run(HandlerThread.java:65)

Test project that shows the issue

https://github.com/ebhsgit/gmap-test/tree/android-9.1

You will need to edit config.xml to put in your Map API key

Please share your project files on Github or others(Bitbucket, Gitlabs...etc).
If you don't want to share your project files, please create a demo project, then share it.

Screen captures, and/or native logs(such as Logcat, xcode logs) are appreciate.

Giving much information, you are waiting time is less.
Thank you for your cooperation.

Support this plugin activity

I appreicate if you give me a beer 🍺 from here

@sergip76
Copy link

sergip76 commented Jun 1, 2021

I have this problem.
Which android platform release do I have to install to solve it?

@kozuch
Copy link

kozuch commented Jul 27, 2021

I also have the issue with blank map. Works when AGP 4.0.2 is used, but is broken with AGP 4.1.x and above.

@ebhsgit
Copy link
Contributor Author

ebhsgit commented Jul 27, 2021

@sergip76

It's not related to your target Android version. It's cause by change from 4.0.x to 4.1.x of AGP (Android Gradle Plugin)
Prior to AGP 4.1.+, assert keyword was not enforced.

Latest Cordova-Android started using AGP 4.1.+, which is causing the AssertionError

@kozuch
Copy link

kozuch commented Aug 4, 2021

I have not tested fix #2872 but if it works please try to merge it so that we can use official release of this plugin and do not have to hack the solution ourselves in code. Without fix we are stuck to cordova-android@9.1.0 and can not use latest cordova-android@10.0.0 which needs Android Gradle Plugin (AGP) version 4.2.2. Thank you!

mcastets pushed a commit to 4sh/cordova-plugin-googlemaps that referenced this issue Dec 21, 2021
mcastets pushed a commit to 4sh/squashed-cordova-plugin-googlemaps that referenced this issue Dec 21, 2021
mcastets added a commit to 4sh/squashed-cordova-plugin-googlemaps that referenced this issue Dec 21, 2021
commit 4e7b436
Author: 8bhsolutions <48874658+8bhsolutions@users.noreply.github.com>
Date:   Fri May 21 17:33:55 2021 +1000

    fix: Blank map when starting app using cordova-android branch which has upgraded AGP to 4.1.3

    Original credits goes to @ebhsgit (mapsplugin/cordova-plugin-googlemaps#2871)

commit c7e60a0
Author: Mathieu Castets <mathieu.castets@4sh.fr>
Date:   Tue Dec 21 18:40:40 2021 +0100

    fix: Remove JS calls to getMessage() as this method does not exist on error object
mcastets pushed a commit to 4sh/squashed-cordova-plugin-googlemaps that referenced this issue Dec 22, 2021
mcastets added a commit to 4sh/squashed-cordova-plugin-googlemaps that referenced this issue Dec 22, 2021
Squashed commit of the following:

commit 66f183a
Author: 8bhsolutions <48874658+8bhsolutions@users.noreply.github.com>
Date:   Sat Oct 23 14:25:12 2021 +1100

    fix: Custom markers not working for cordova-android 10+ and add checked for https scheme

    Original credits goes to @ebhsgit (mapsplugin/cordova-plugin-googlemaps@514426a)

commit afc72f5
Author: 8bhsolutions <48874658+8bhsolutions@users.noreply.github.com>
Date:   Fri May 21 17:33:55 2021 +1000

    fix: Blank map when starting app using cordova-android branch which has upgraded AGP to 4.1.3

    Original credits goes to @ebhsgit (mapsplugin/cordova-plugin-googlemaps#2871)

commit 230040f
Author: Mathieu Castets <mathieu.castets@4sh.fr>
Date:   Tue Dec 21 18:40:40 2021 +0100

    fix: Remove JS calls to getMessage() as this method does not exist on error object
claudioscheer pushed a commit to ActionPropertyManagement/cordova-plugin-googlemaps that referenced this issue Feb 13, 2024
Squashed commit of the following:

commit 66f183afe2afad74d7b63ebfd908efc24743bfdb
Author: 8bhsolutions <48874658+8bhsolutions@users.noreply.github.com>
Date:   Sat Oct 23 14:25:12 2021 +1100

    fix: Custom markers not working for cordova-android 10+ and add checked for https scheme

    Original credits goes to @ebhsgit (mapsplugin@514426a)

commit afc72f5d4503cd96bf79ff339bff153312c4d6ca
Author: 8bhsolutions <48874658+8bhsolutions@users.noreply.github.com>
Date:   Fri May 21 17:33:55 2021 +1000

    fix: Blank map when starting app using cordova-android branch which has upgraded AGP to 4.1.3

    Original credits goes to @ebhsgit (mapsplugin#2871)

commit 230040f778f3a5f46686e02e960acf00b8040ba0
Author: Mathieu Castets <mathieu.castets@4sh.fr>
Date:   Tue Dec 21 18:40:40 2021 +0100

    fix: Remove JS calls to getMessage() as this method does not exist on error object
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants