AS安装APK失败的两种情况
INSTALL_FAILED_DUPLICATE_PERMISSION
根據(jù)網上的結論,在android L即android 5.0之后添加一種機制,主要是針對自定義權限的:
不同簽名的app種如果有同樣的自定義權限,那么只能安裝一個,安裝第二個時就會報上面的錯誤。
經過測試,即使簽名相同也不行,不知道是我操作的問題,還是android更高版本有了更嚴的機制。
總之,使用不同的自定義權限就沒問題,一般自定義權限我們都會加入applicationid,即包名,這樣就不會沖突
INSTALL_FAILED_CONFLICTING_PROVIDER
與上面的類似,在不同的app種有相同authorities的Provider。
官方解釋
查看官方文檔(docs/guide/topics/manifest/provider-element.html)的描述:
The Android system stores references to content providers according to an authority string, part of the provider’s content URI.
Android 系統(tǒng)根據(jù) authority 字符串來儲存 ContentProvider 的引用,并且 authority 還是 contentURI 的一部分。從這句話可以得出,在 Android 中 authority 必須是唯一的,不然 Android 系統(tǒng)如何區(qū)分開不同應用的 ContentProvider 呢?
所以解決方法一樣,為provider定義authorities時可以加入applicationid,即包名,這樣就會不同了。
另外注意:當修改了authorities,代碼中也要進行對應的修改
總結
以上是生活随笔為你收集整理的AS安装APK失败的两种情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android录制和播放PCM数据
- 下一篇: kotlin使用代码javaClass或