2016-08-20 30 views
4

我的firebase應用程序在我的android設備上運行完全沒有添加permission.INTERNET標誌。我直接從Gradle安裝Firebase。我知道通過android studio中的項目結構窗口添加Firebase將爲您添加permissions.INTERNET。但事實並非如此,我的Android清單沒有任何關於permission.INTERNET的功能,但仍然功能齊全...Firebase未經許可而工作。如何?

我還沒有找到任何有關此信息...這是因爲它現在運行谷歌?

+4

權限可能來自庫本身:https://commonsware.com/blog/2015/06/25/hey-where-did-these-permissions-come-from.html – CommonsWare

+0

Firebase的哪個模塊是你在用嗎? –

+0

* firebaser這裏* @CommonsWare的權限確實是從AAR合併而來的。你能把它作爲答案發布嗎? –

回答

10

documentation for manifest merging狀態:

在生成過程中,清單合併進程存儲記錄每個 在 清單,merger- {} productFlavor文件-report.txt模塊 在合併交易建立/輸出/記錄文件夾。爲模塊構建變體的每個 生成不同的日誌文件。

您可以在那裏查看有關哪個庫提供權限的詳細說明。

或者因爲您使用的是Android Studio,您可以使用Ctrl-Shift-N鍵入「AndroidManifest.xml」來查看構建中所有清單的下拉菜單,並打開它們以查看它們包含的內容。

Android Studio 2.2添加了一項功能,以顯示清單合併的結果。在編輯器窗口中查看清單時,選擇窗口底部的合併清單標籤以查看清單的貢獻者。

在我的體型,其中包括一些火力地堡庫,即增加了INTERNET權限清單似乎是:

com.google.firebase\firebase-analytics\9.4.0\AndroidManifest.xml 
+0

啊,太棒了,謝謝你的回答和資源!我的互聯網許可似乎也來自分析庫!我沒有太多的關於清單合併的信息,很好學習新的東西! –

1

我手動管理我的移動數據的權限,我發現,如果我阻止「Google備份傳輸」上的移動數據,我無法連接到Firebase。 我真的認爲這是原因即使沒有INTERNET權限,您也可以使用您的應用程序。