-4
場景:應用程序A定義了由應用程序B聲明的新定製權限。應用程序B(消費者)在應用程序A之前安裝。Android PackageManager是否將權限分配給B?在Android 6.0中如何進行權限分配?如果應用程序權限的使用者安裝在生產者之前,Android PackageManager是否會分配權限?
場景:應用程序A定義了由應用程序B聲明的新定製權限。應用程序B(消費者)在應用程序A之前安裝。Android PackageManager是否將權限分配給B?在Android 6.0中如何進行權限分配?如果應用程序權限的使用者安裝在生產者之前,Android PackageManager是否會分配權限?
Android PackageManager會將權限分配給B嗎?
No。
如何在Android 6.0中進行權限分配?
我不知道這裏有什麼變化。
一般來說,自定義權限適用於預先安裝的應用程序套件,它們吸引供普通手段(例如Play商店)分發的普通SDK應用程序使用。
感謝發佈。我的問題與安裝在系統目錄中的OEM應用程序有關,而不是通過Google Play商店分發的第三方應用程序。很抱歉,我們無法保證安裝/更新訂單。一位同事告訴我,這種情況可以通過讓App A和B定義相同的權限,然後讓應用B(消費者)聲明它來解決。我不確定這是否是最佳做法。 – Sai
@Sai:「不幸的是,我們無法保證安裝/更新順序」 - 我不明白爲什麼,因爲您控制了固件。 「一位同事告訴我,這種情況可以通過讓應用A和B定義相同的權限,然後讓應用B(消費者)聲明它來解決」 - 只有A和B都適用於Android 5.0+由相同的簽名密鑰簽名。不幸的是,這個限制並不適用於舊版Android,導致[安全漏洞](https://github.com/commonsguy/cwac-security/blob/master/PERMS.md)。 – CommonsWare
@Sai:「我不確定這是否是最佳做法」 - 如果A和B由相同的簽名密鑰簽署,那麼是的,這可能是一種最佳做法,儘管我沒有太多處理OEM應用程序,因此在這方面沒有太多的實踐經驗。 – CommonsWare