inloop / easygcm

Android Library for easy GCM integration in few lines of code.
Apache License 2.0
261 stars 43 forks source link

${applicationId} is still using "easygcm" but not project's appliication id #12

Closed vkedwardli closed 9 years ago

vkedwardli commented 9 years ago
<permission
    android:name="easygcm.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="easygcm.permission.C2D_MESSAGE" /> <!-- This app has permission to register and receive data message. -->

Above is extracted from my AndroidManifest.xml, I guess the Manifest Merger cannot get the project's applicationid but using the library provided one.

Using a wrong applicationid would not affect Jelly Bean or above versions from my testing, but all of my ICS device are failed to receive any GCM message (but can get a registrationid)

Seems to be the same issue: https://code.google.com/p/android/issues/detail?id=73128 https://groups.google.com/forum/#!topic/adt-dev/0qg87Zu9NuU http://stackoverflow.com/questions/27988186/override-applicatoinid-inside-library-projects-manifest-with-gradle

martinadamek commented 9 years ago

Definitely a bug. Something is broken in configuration and the library project's placeholders are replaced by library's package and therefore not correctly replaced with client app. I am looking at this and going to provide fix very soon. It has also affected the version currently available on Maven Central.

vkedwardli commented 9 years ago

thanks for workaround, but I got an Error:(37, 13) Failed to resolve: eu.inloop:easygcm:1.3.0-SNAPSHOT after adding compile 'eu.inloop:easygcm:1.3.0-SNAPSHOT@aar' into my gradle

martinadamek commented 9 years ago

In order to us SNAPSHOT release you have yo add Sonatype snapshot repository to your build script, see example here: https://github.com/inloop/easygcm/blob/master/easygcm-sample/build.gradle

Final version 1.3.0 should be out next week.