9

Właśnie zaktualizowałem jedną aplikację z Firebase 9.0.0 do Firebase 9.0.2. Używam wiadomości + reklam.Firebase + Uprawnienia

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

Teraz dużo niechcianej zgody nie wyskoczyło

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

nie dodać te uprawnienia w dowolnym miejscu, więc muszą być z Firebase. wiem, moi klienci nie lubią tych uprawnień, więc usunąłem je

<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" /> 

Moja aplikacja nadal działa, wiadomości i reklamy nadal działa, nadal chciałbym moje podejrzenia potwierdzone.

Dlaczego Firebase dodaje te uprawnienia i czy można je usunąć tak jak ja?

+0

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

+0

Jest mało prawdopodobne, że te uprawnienia zostały dodane przez firebase, jeśli tworzysz aplikację tylko z funkcją Firebase-Messaging lub tylko z firebase -adania żadnego z tych uprawnień nie są dodawane. Czy możesz potwierdzić, że kiedy tworzysz swoją aplikację w wersji 9.0.0, te uprawnienia nie istnieją, a następnie pojawiają się po przejściu do wersji 9.0.2 (obecnie 9.2.1)? –

+0

@ArthurThompson Nie mogę już budować z 9.0.0. Właśnie dlatego zaktualizowałem zależność. Kiedy używam wersji 9.0.0 otrzymuję "java.lang.IncompatibleClassChangeError: Metoda" java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir (android.content.Context) "miała być typu wirtualnego, ale zamiast tego okazało się, że jest typu bezpośredniego (deklaracja "com.google.firebase.iid.zzg" ... "), ale teraz zmieniono na 9.2.1, zaktualizowałem narzędzia do budowania i wszystko inne i teraz działa ponownie bez awarii a nadmiarowe uprawnienia również zniknęły ... – ElDuderino

Odpowiedz

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

te uprawnienia są różne, ponieważ nie są używane w fcm.

PHONE_STATE pozwolenie znać aktualny stan telefonu

i READ_EXTERNAL_STORAGE i WRITE_EXTERNAL_STORAGE dodawać i usuwać pliki w pamięci z aplikacji, jeśli nie używasz żadnej z tych funkcji można go usunąć .

+0

Jak usunąć te uprawnienia z projektu, jeśli wydaje mi się, że jest to plik Manifestu scalania? –