Firebase +权限

时间:2016-07-11 13:05:51

标签: android permissions firebase admob 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"

现在已经出现了很多不受欢迎的许可

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会添加这些权限,是否可以像我一样删除它们?

2 个答案:

答案 0 :(得分: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仅限内部使用。
  •   
  • 添加缺失   minSdkVersion in -license工件,以防止自动包含   READ_PHONE_STATE和READ_EXTERNAL_STORAGE权限。
  •   
  • 还原   运行时链接-license工件的唯一包名称   影响了一些构建系统(例如Ionic Pro)兼容性问题。
  •   
  • 恢复在12.0.1中被混淆的一些字段名称,即   firebase-firestore和中的@PropertyName注释的value()方法   火力的数据库。
  •   

答案 1 :(得分: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 可在您的应用中添加和删除内存中的文件,如果您没有使用这些功能,可以将其删除。