Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-10014

Gradle variable applicationId is not set, creates issue with Google Play services 8.3.0

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.4.1
    • Fix Version/s: None
    • Component/s: cordova-android
    • Labels:

      Description

      applicationId is not set in build.gradle which creates an issue with com.google.android.gms:play-services-measurement:8.3.0. This aar file has the following line in AndroidManifest.xml

      <provider
         android:authorities="${applicationId}.google_measurement_service"
         android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"
         android:exported="false"/>
      

      applicationId becomes `com.google.android.gms.measurement` when the manifest entry is merged since applicationId is not set in the main project .gradle file. This means that if another app also includes the Google Play services library 8.3.0 it will fail to install on the device with an INSTALL_FAILED_CONFLICTING_PROVIDER error because the name isn't unique.

      This is silent problem to developers as it only becomes an issue when the end user installs 2 apps built this way. This should be addressed quickly to prevent this error when developers release their APK or provide a work around for plugin developers to add something to their plugin.xml to default in the applicationId gradle variable.

      Thanks.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              OneSignal Josh Kasten
            • Votes:
              3 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: