Skip to content

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

Open

Description

@ebhsgit

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

Activity

  1. sergip76 commented on Jun 1, 2021

    @sergip76

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

  2. kozuch commented on Jul 27, 2021

    @kozuch

    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.

  3. ebhsgit commented on Jul 27, 2021

    @ebhsgit
    ContributorAuthor

    @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

  4. kozuch commented on Aug 4, 2021

    @kozuch

    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!

  5. added a commit that references this issue on Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions