Firebase +权限

ElD*_*ino 11 permissions android admob firebase firebase-cloud-messaging

我刚刚将一个应用程序从Firebase 9.0.0更新到Firebase 9.0.2.我使用短信+广告.

compile 'com.google.firebase:firebase-messaging:9.0.2' 
compile "com.google.firebase:firebase-ads:9.0.2"
Run Code Online (Sandbox Code Playgroud)

现在已经出现了许多不必要的许可

android:name="android.permission.READ_PHONE_STATE"
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
Run Code Online (Sandbox Code Playgroud)

我没有在任何地方添加这些权限,因此它们必须来自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" />
Run Code Online (Sandbox Code Playgroud)

我的应用程序仍然有效,消息和广告仍然有效,但我仍然怀疑我的怀疑.

为什么Firebase会添加这些权限,是否可以像我一样删除它们?

Guy*_*Guy 5

此问题已在12.0.1中修复.来源https://developers.google.com/android/guides/releases

2018年3月28日 - Verison 12.0.1

12.0.1中修复的问题:

  • 修复了引发虚假Android lint错误的问题,声称GoogleSignIn和CredentialsClient仅限内部使用.
  • 在-license工件中添加缺少的minSdkVersion,以防止自动包含READ_PHONE_STATE和READ_EXTERNAL_STORAGE权限.
  • 恢复运行时链接-license工件的唯一包名称,这会影响某些构建系统(例如Ionic Pro)兼容性问题.
  • 恢复在12.0.1中混淆的一些字段名称,即firebase-firestore和firebase-database中@PropertyName注释的value()方法.


Ani*_*nil 0

android:name="android.permission.READ_PHONE_STATE"
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
Run Code Online (Sandbox Code Playgroud)

这些权限是不同的,它们在 fcm 中不使用。

PHONE_STATE权限了解手机当前状态

READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE用于在应用程序中添加和删除 内存中的文件,如果您不使用任何这些功能,则可以将其删除。