2014-01-27 90 views
-2

我想知道是否有任何方法來確定我的應用程序需要的權限。如何確定我的應用程序需要的權限

也有同樣的問題在這裏:How do I determine why my Android app requires certain permissions?

但是我的回答狀態,你基本上要找出自己,我不能相信這一點。

難道真的沒有辦法告訴Eclipse來看看我的代碼,並確定所需的權限,或者類似這樣的東西嗎?這應該沒有問題自動化。

或者有沒有辦法測試設備上的權限。當我在我的本地設備上安裝我的應用程序時,我沒有被要求獲得任何權限。

任何幫助真的很受歡迎。

+0

不幸的是,現在沒有什麼神奇的方法來解決這個問題:) – Triode

+0

通常,當我試圖做某些在測試設備上不允許的事情時,會得到一個運行時異常。所以如果你的應用程序運行正常,我認爲你是安全的。 – fedorSmirnov

+0

我真的很喜歡downvoters downvote沒有留下評論。 – user1567896

回答

1

相信它。
該應用程序崩潰並告訴你爲什麼:它期望在其清單文件中聲明一些權限。

它通常會告訴你在兩個方面:在對話框(FC對話框),並在logcat中。

0

你必須根據你的應用程序做什麼來定義的權限,如果它的訪問互聯網,就需要允許這樣做。如果它想通過GPS定位你的位置,它需要一個許可,否則你不能自動執行它,而不是正式的。

想想你的應用程序作爲一個虛擬的孩子,你需要准許讓它做的東西,否則它不會做任何事情。所以你必須非常認真的決定你自己。

不過你不用擔心,如果你錯過了一個權限,日誌會讓你知道它是哪一個。

2

這應該工作:

boolean crashes = true 
while (crashes) { 
    ReadLogCat() 
    AddPermissionFoundMissingAccordingToLogCat() 
    crashes = TryAgain() 
} 

PS:這是僞代碼;)

PPS:你沒有複製此Eclipse的,是嗎?只是開玩笑;)

+0

從我+1顯示正確的算法:D –

+0

哈哈,謝謝;) –

+1

不客氣,我的朋友。我喜歡這種幽默。這也是正確做到這一點的真正方法。 –

0

以及當我想念我的應用程序的任何許可,我不會考慮這個問題,這是官方的解決辦法

通常說我使用的互聯網連接或獲取任務,但我並沒有宣佈他們在清單

當我運行我的應用程序我得到它的日誌貓說互聯網的許可並獲得所需的任務的權限爲這個應用程序運行

希望回答你的問題

+0

我不是說同樣的事情,已經? –

+0

我以爲我說第一個 –

+0

你在我後面回答了2分鐘。 –

0

是否真的沒有辦法讓Eclipse看看我的代碼並確定所需的權限或類似的東西?

如果您有一套測試套件可以充分測試您的應用程序,那麼運行測試套件會告訴您所需的權限,因爲如果您沒有測試套件,測試將會崩潰。

還是有辦法的設備上測試的權限。當我在我的本地設備上安裝我的應用程序時,我沒有被要求獲得任何權限。

您在安裝時看到的權限基於您的清單中的<uses-permission>元素,而不是對該應用程序的一些分析。因此,這不會對你有所幫助。也就是說,通過除adb以外的其他任何方式安裝您的應用程序,例如從Web服務器下載應用程序,都會彈出權限對話框,以便您可以查看準用戶在安裝時將看到的內容。

相關問題