cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-10014) Gradle variable applicationId is not set, creates issue with Google Play services 8.3.0
Date Tue, 22 Dec 2015 06:08:46 GMT

    [ https://issues.apache.org/jira/browse/CB-10014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15067596#comment-15067596
] 

ASF GitHub Bot commented on CB-10014:
-------------------------------------

Github user dpogue commented on the pull request:

    https://github.com/apache/cordova-android/pull/247#issuecomment-166521273
  
    I think I'd agree that `def manifest = new XmlSlurper().parse(file("AndroidManifest.xml"))`
is better. In this case I was just trying to copy what already existed for reading the version
number.
    
    It looks like the helpers use a slightly different method for parsing the config.xml:
    ```gradle
    def doGetConfigXml() {
        def xml = file("res/xml/config.xml").getText()
        // Disable namespace awareness since Cordova doesn't use them properly
        return new XmlParser(false, false).parseText(xml)
    }
    ```
    
    I'm not sure which approach is best. Maybe @infil00p or one of the Crosswalk devs has
a better idea of gradle best practices? (I'm pretty sure none of this is considered "best
practices" though)


> Gradle variable applicationId is not set, creates issue with Google Play services 8.3.0
> ---------------------------------------------------------------------------------------
>
>                 Key: CB-10014
>                 URL: https://issues.apache.org/jira/browse/CB-10014
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 5.4.1
>            Reporter: Josh Kasten
>              Labels: android, gradle
>
> 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
> {code:xml}
> <provider
>    android:authorities="${applicationId}.google_measurement_service"
>    android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"
>    android:exported="false"/>
> {code}
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message