9

Ich habe gerade eine App von Firebase 9.0.0 auf Firebase 9.0.2 aktualisiert. Ich benutze Messaging + Anzeigen.Firebase + Berechtigungen

compile 'com.google.firebase:firebase-messaging:9.0.2' 
compile "com.google.firebase:firebase-ads:9.0.2" 

Jetzt eine Menge unerwünschter Erlaubnis hat aufgetaucht

android:name="android.permission.READ_PHONE_STATE" 
android:name="android.permission.READ_EXTERNAL_STORAGE" 
android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

Ich habe nicht diese Berechtigungen überall hinzufügen, so müssen sie von Firebase sein. Ich weiß, dass meine Kunden wie diese Berechtigungen nicht, so dass ich entfernte sie mit

<uses-permission 
    android:name="android.permission.READ_PHONE_STATE" 
    tools:node="remove" /> 
<uses-permission 
    android:name="android.permission.READ_EXTERNAL_STORAGE" 
    tools:node="remove" /> 
<uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
    tools:node="remove" /> 

Meine App noch funktionieren, Messaging und Anzeigen immer noch arbeiten, noch würde ich meinen Verdacht bestätigt mögen.

Warum fügt Firebase diese Berechtigungen hinzu und ist es wirklich in Ordnung, sie wie ich zu entfernen?

+0

siehe https://groups.google.com/forum/#!topic/firebase-talk/CXgecSxgsRE –

+0

Es ist unwahrscheinlich, dass diese Berechtigungen von Firebase hinzugefügt wurden, wenn Sie eine App nur mit Firebase-Messaging oder nur Firebase erstellen -ad Keine dieser Berechtigungen wurde hinzugefügt. Können Sie bestätigen, dass diese Berechtigungen nicht vorhanden sind, wenn Sie Ihre App mit 9.0.0 erstellen, und dann angezeigt werden, wenn Sie zu 9.0.2 (jetzt 9.2.1) wechseln? –

+0

@ArthurThompson Ich kann nicht mehr mit 9.0.0 bauen. Deshalb habe ich die Abhängigkeit aktualisiert. Wenn ich 9.0.0 verwende, bekomme ich "java.lang.IncompatibleClassChangeError: Die Methode 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir (android.content.Context)' sollte vom Typ virtual but sein Stattdessen wurde gefunden, dass der Typ direkt (Erklärung von 'com.google.firebase.iid.zzg' ... ") ist. Aber ich habe jetzt 9.2.1, aktualisierte Build-Tools und alles andere geändert und jetzt funktioniert es wieder ohne einen Absturz und die überflüssigen Berechtigungen sind auch verschwunden ... – ElDuderino

Antwort

0
android:name="android.permission.READ_PHONE_STATE" 
android:name="android.permission.READ_EXTERNAL_STORAGE" 
android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

Diese Berechtigungen sind unterschiedlich, sie sind nicht in fcm verwendet.

PHONE_STATE Erlaubnis aktuellen Status des Telefons zu wissen

und READ_EXTERNAL_STORAGE und WRITE_EXTERNAL_STORAGE hinzufügen und Datei im Speicher von Ihrer App löschen, wenn Sie keine dieser Funktionen verwenden, können Sie es entfernen .

+0

Wie entferne ich diese Berechtigungen aus dem Projekt, wenn ich es in Merge Manifest-Datei erscheinen? –