[
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: [email protected]
For additional commands, e-mail: [email protected]