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?
siehe https://groups.google.com/forum/#!topic/firebase-talk/CXgecSxgsRE –
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? –
@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