Entferne ich diese Erlaubnis? (Es Ursache INSTALL_FAILED_DUPLICATE_PERMISSION in Android 5.0-Gerät)

Meiner tester sagte, dass er konnte nicht installieren Sie die app aus dem Play Store auf seinem Nexus 5 (Lollipop). Er sagte, er habe diesen Fehler

Unknown error code during application install “-505

Nahm ich sein Handy und versuchen, installieren Sie die app über adb, bekam ich diese Fehlermeldung

Failure [INSTALL_FAILED_DUPLICATE_PERMISSION 
        perm=com.example.gcm.permission.C2D_MESSAGE 
        pkg=com.mailchimp.alterego]

Nach einiger Lektüre, stieß ich auf dieses schreiben von @Commonsware

http://commonsware.com/blog/2014/08/04/custom-permission-vulnerability-l-developer-preview.html

Es ist klar, dass sowohl meine app und die Mailchimp-app (installiert auf meiner tester-Handy) kopiert hat, die Erlaubnis, com.Beispiel.gcm.die Genehmigung.C2D_MESSAGE. Dann überprüfe ich mein git log, um zu sehen, Wann ich hinzufügen, dass die Leitung zu meiner AndroidManifest und festgestellt, dass es war, als ich implementieren GCM. Damals, ich folgte diesem tutorial

https://developer.android.com/google/gcm/client.html

Entferne ich diese Erlaubnis? (Es Ursache INSTALL_FAILED_DUPLICATE_PERMISSION in Android 5.0-Gerät)

Ich denke, sowohl ich als auch Mailchimp Entwickler Folgen dem gleichen tutorial Hinzugefügt, gleiche Berechtigung und nun auch unsere app hat doppelte Berechtigung.

So, ich entfernen, dass die Erlaubnis von meinem AndroidManifest und jetzt bin ich in der Lage zu installieren die app auf meinem tester das Telefon. Ich Teste die GCM-Nachricht durch senden von Paket zu GCM-server von meinem php-Skript und app noch GCM-Nachricht, wie es war.

So, wird es eine andere Frage, weil die fehlende Erlaubnis und was ist der Punkt, dass diese Erlaubnis überhaupt? (denn ohne Sie, meine app noch GCM-Nachricht)

Meine Sorge ist, wenn unsere app ist mit einem plugin/Bibliothek, die erforderliche Berechtigung. Wir werden nicht in der Lage, installieren Sie unsere app auf Lollipop-Gerät, wenn es eine andere installierte app, die unter Verwendung der gleichen Bibliothek, nicht wahr?

-- HINWEIS --

Ich schon gelesen, diese Frage, einige Leute empfehlen das gleiche zu, was ich Tat, Berechtigung entfernen. Aber niemand spricht über das, was geschehen wird, wenn wir es tun, oder warum haben wir, um es hinzuzufügen.

INSTALL_FAILED_DUPLICATE_PERMISSION... C2D_MESSAGE

-- EDIT 1 --

Ich ging zurück zu den Tutorials, das tutorial war richtig, es war meine falsche Umsetzung

Entferne ich diese Erlaubnis? (Es Ursache INSTALL_FAILED_DUPLICATE_PERMISSION in Android 5.0-Gerät)

Ich (und Mailchimp-Entwickler) hinzufügen sollte, die Erlaubnis mit dem Namen unseres app package + ".die Genehmigung.C2D_MESSAGE" statt nur kopieren und einfügen, com.Beispiel.gcm.die Genehmigung.C2D_MESSAGE

<permission android:name="com.mycompany.myappname.permission.C2D_MESSAGE" 
            android:protectionLevel="signature" />

Aber, diese Erhöhung eine weitere Frage an mich, tutorial, sagte, dass, wenn wir nicht fügen Sie diese Berechtigung oder der name entspricht nicht dem Muster, app wird nicht die Botschaft.Aber ich bekam die Meldung, wenn ich testen auch wenn ich zu entfernen dieses pemission... komisch.

Ich denke, dass die Warnung über das "app nicht bekommen die Nachricht" wird für die alt-sdks (15 und niedriger)
seine nicht klar aus dem EDIT 1, sollten wir die Verwendung von string mit ...C2D_MESSAGE oder ...C2D_MESSAGE android:protectionLevel="Unterschrift"
Ich habe gerade löst sich mein Problem durch die deinstallation der vorherigen version der app, die unterzeichnet wurde mit einem release-key und nicht meine Debuggen von android studio
Das Problem ist einfach, das sample-code von Google sagt, dass wir hinzufügen müssen, um diese Berechtigung. Das problem ist, dass einige devs kopieren Sie den code aus dem tutorial und fügen Sie ihn in Ihre AndroidManifest.xml wie ich es Tat. Das Thema wird nie zu erhöhen, bis Sie versuchen, die Anwendung zu installieren (mit copy & paste-code), aber Ihr Telefon hat bereits eine andere Anwendung von einem anderen Entwickler, der auch kopieren & fügen Sie den gleichen code. Dies führt in Situationen, in denen man Telefon hat 2 apps, hat doppelte Berechtigung. Um dies zu beheben, wir sollten Lesen Sie die Anleitung sorgfältig.
Ich Stand vor dem gleichen Problem mit einem gemeinsamen cordova-plugins. Ich verstehe, Sie haben Ihr Problem gelöst, aber nur für den Fall, andere wollen wissen, die Lösung. Verwenden Sie ${applicationId} anstelle des tatsächlichen Namen im androidmanifest. < - permission android:name="${applicationId}.die Genehmigung.C2D_MESSAGE" android:protectionLevel="Signatur"/> <uses-permission android:name="${applicationId}.die Genehmigung.C2D_MESSAGE"/>

InformationsquelleAutor Tar_Tw45 | 2015-01-05

Schreibe einen Kommentar