9

Я только что обновил одно приложение от Firebase 9.0.0 до Firebase 9.0.2. Я использую обмен сообщениями + объявления.Firebase + Разрешения

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

Сейчас много нежелательного разрешения множатся

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

Я не добавлял эти разрешения в любом месте, поэтому они должны быть от Firebase. Я знаю, что мои клиенты не любят эти разрешения, так что я удалил их с

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

Мое приложение все еще работает, обмен сообщениями и объявления по-прежнему работать, я все еще хотел бы мои подозрения подтвердились.

Почему Firebase добавляет эти разрешения и действительно ли их удалять, как я?

+0

см. Https://groups.google.com/forum/#!topic/firebase-talk/CXgecSxgsRE –

+0

Маловероятно, что эти разрешения были добавлены firebase, если вы создаете приложение только с firebase-messaging или только с firebase -ads ни одно из этих разрешений не добавлено. Не могли бы вы подтвердить, что при создании вашего приложения с 9.0.0 эти разрешения не появляются, а затем отображаются, когда вы переходите к 9.0.2 (теперь 9.2.1)? –

+0

@ArthurThompson Я больше не могу строить с 9.0.0. Вот почему я обновил зависимость. Когда я использую 9.0.0, я получаю «java.lang.IncompatibleClassChangeError: метод« java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir (android.content.Context) »должен был иметь тип виртуальный, но вместо этого было установлено, что он имеет тип direct (объявление «com.google.firebase.iid.zzg» ... »Но теперь я изменил его на 9.2.1, обновил инструменты сборки и все остальное, и теперь он снова работает без сбоев и лишние разрешения также исчезли ... – ElDuderino

ответ

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

эти разрешения разные, они не используются в fcm.

PHONE_STATE разрешения знать текущее состояние телефона

и READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE добавлять и удалять файлы в памяти из вашего приложения, если вы не используете какие-либо из этих функциональных возможностей вы можете удалить его ,

+0

Как удалить эти разрешения из проекта, если я вижу его в файле манифеста Merge? –

Смежные вопросы