您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Android打空包后提示沒有"android:exported"如何解決”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Android打空包后提示沒有"android:exported"如何解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
今日了解到了一個新內容,意指打一個新的空包提審,來實現同個應用二次提審的效果;通過一系列操作后,成功打出了所謂aab格式的安裝包。(至于為什么是aab格式,相信有所了解的朋友自然也知道什么原因,還未曾了解的朋友可以先了解相關的信息,這里就不贅述了,自行了解一下為什么目前需要打出aab格式的安裝包。)將打出的aab安裝包上傳提交至開發這平臺后,報出警告與提示:
提示內容:
您上傳的APK或Android App Bundle內含活動、活動別名、服務或廣播接收器,這些項目有intent過濾器,但沒有"android:exported"屬性設置。此文件無法在Android 12或更高版本上安裝。
后續通過了解得知,其實應該是針對Android12,即API 31版本后的相關規范;
谷歌開發者平臺提供了一個文檔鏈接如下:
https://developer.android.com/about/versions/12/behavior-changes-12?hl=zh-cn#exported
跟我們所提及到的內容較為相關的主要如下圖:
Android:exported 屬性知識
1、android:exported 是 Android中的四大組件 Activity,Service,Provider,Receiver 四大組件中都會有的一個屬性。
2、android:exported 代表是否能被其他應用隱式調用。
3、true允許被啟動,false不允許被啟動。
4、android:exported 默認值是由有無intent-filter決定的,如果有intent-filter,默認值為true,否則為false。
5、android:exported = false的情況下,這個Activity將只會被當前Application或者擁有同樣user ID的Application的組件調用,對于其他應用,即使有intent-filter匹配,也無法打開,即無法被其他應用隱式調用。
那么通過官方文檔和以上內容得知,大概的意思就是Android 12版本以及更高版本intent-filter不能被隱式調用了,只能顯示調用了,如果我們需要調用的話,我們則要加android:exported = ”true“這個屬性設置。即在AndroidMa…文件里面添加對應的android:exported 屬性設置即可。
讀到這里,這篇“Android打空包后提示沒有"android:exported"如何解決”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。