(Button)findViewById(R.id.btnOne);

成都創(chuàng)新互聯(lián)從2013年成立,先為仁布等服務(wù)建站,仁布等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為仁布企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
.......
這些初始化語句放到onCreate的setContentView(R.layout.main)語句后面。
Android 12 已來,你的 App 崩潰了嗎?我們已經(jīng)開始做 Android 12 的適配了,在 Android 12 中包含了很多的功能和一些行為的變更,接下來我們一起來分析這些行為的變更對我們的應(yīng)用產(chǎn)生了那些影響。
通過這篇文章你將學(xué)習(xí)到以下內(nèi)容:
如果對上面的異常產(chǎn)生的條件,不是很理解,可以點擊下方鏈接查看,目前已經(jīng)有很多開源項目都已經(jīng)開始適配這個行為的變更了,例如 leakcanary 等等,詳情前往查看下列地址:
這個行為的變更無論是對庫開發(fā)者 和 還是應(yīng)用開發(fā)者影響都非常大。
android:exported 屬性的默認(rèn)值取決于是否包含 ,如果包含 那么默認(rèn)值為 true,否則 false。
正因為 android:exported 的屬性的默認(rèn)值的問題,Twicca App 發(fā)生過一次安全性問題,因為另一個沒有訪問 SD 卡或網(wǎng)絡(luò)權(quán)限的 App,可以通過 Twicca App 將存儲在 SD 卡上的圖片或電影上傳到 Twicca 用戶的 Twitter 賬戶上的社交網(wǎng)絡(luò)上。
產(chǎn)生問題的代碼如下所示:
因為添加了 intent-filter 所以 android:exported 的屬性的默認(rèn)值為 true,因此可以接受來自其他 App 的訪問,進(jìn)而造成了上述問題(通過 Twicca App 將存儲在 SD 卡上的圖片或電影上傳到 Twicca 用戶的 Twitter 賬戶上的社交網(wǎng)絡(luò)上),而解決方案有兩個:
這種方案也是可行的,因為在一臺設(shè)備上,不可能會出現(xiàn)兩個包名相同的應(yīng)用,更多詳細(xì)的信息可以前往查看 Restrict access to sensitive activities。
這僅僅是關(guān)于 activity 的安全漏洞的其中一個,在不同的場景下利用這些漏洞做的事情也可能不一樣。當(dāng)然還有 service 和 receiver 組件也都是一樣,存在安全性問題。
為什么在 Android 12 上需要顯示的指定 PendingIntent 的可變性
在 Adnroid 12 之前,默認(rèn)創(chuàng)建一個 PendingIntent 它是可變的,因此其他惡意應(yīng)用程序可能會攔截,重定向或修改此 Intent。(但是是有條件限制的)
一個 PendingIntent 是一個可以給另一個應(yīng)用程序使用的 Intent,PendingIntent 接收待處理意圖的應(yīng)用程序可以使用與產(chǎn)生待處理意圖的應(yīng)用程序相同的權(quán)限和身份執(zhí)行待處理意圖中指定的操作。
因此,創(chuàng)建待處理意圖時必須小心,為了安全性 Google 在 Android 12 中需要開發(fā)者自己來指定 PendingIntent 的可變性。
更多關(guān)于 PendingIntent 安全性介紹,可以前往查看 Always pass explicit intents to a PendingIntent。
Android 開發(fā)者都應(yīng)該知道這個命令 adb backup , 它可以備份應(yīng)用的數(shù)據(jù),在 Android 12 中,為了保護(hù)私有應(yīng)用數(shù)據(jù),用戶運行 adb backup 命令時,從設(shè)備導(dǎo)出的任何其他系統(tǒng)數(shù)據(jù)都不包含應(yīng)用數(shù)據(jù)。
如果你在測試和開發(fā)過程中需要使用 adb backup 來備份應(yīng)用數(shù)據(jù),你可以在 AndroidManifest 中將 android:debuggable 設(shè)置為 true 來導(dǎo)出應(yīng)用數(shù)據(jù)。
注意:在發(fā)布應(yīng)用前將 android:debuggable 設(shè)置為 false。
為什么在 Android 12 上限制了 adb backup 命令的默認(rèn)行為
因為這個存在嚴(yán)重的安全問題,當(dāng)初 Google 為了提供 App 數(shù)據(jù)備份和恢復(fù)功能,可以在 AndroidManifest 中添加 android:allowBackup 屬性,默認(rèn)值為 true, 當(dāng)你創(chuàng)建一個應(yīng)用的時候,會默認(rèn)添加這個屬性,如下所示。
當(dāng) android:allowBackup="true" 時,用戶可以通過 adb backup 和 adb restore 命令對應(yīng)用數(shù)據(jù)進(jìn)行備份和恢復(fù),也就是說可以在其他的 Android 手機(jī)上安裝同一個應(yīng)用,通過如上命令恢復(fù)用戶的數(shù)據(jù)。
為了安全起見,我們在發(fā)布出去的 Apk 中一定要將 android:allowBackup 屬性設(shè)置為 false 來關(guān)閉應(yīng)用程序的備份和恢復(fù)功能,以免造成信息泄露。國民級應(yīng)用 XX 信, 在曾今發(fā)出的版本中 allowBackup 的屬性值是 true,被其他逆向開發(fā)者利用之后,現(xiàn)在的版本中這個值已經(jīng)修改為 false了,有興趣的小伙們可以反編譯看看。
在這里推薦一個開源項目 linkedin/qark 這是由 LinkedIn 開源的項目,這個工具被設(shè)計用來尋找與安全相關(guān)的 Android 應(yīng)用程序漏洞,無論是源代碼還是打包的 APK,具體的用法文檔上寫的非常的清楚了,這里不做詳細(xì)的介紹了。
這個開源項目的檢查結(jié)果,作為參考即可。當(dāng)然也有很多公司花了重金去購買第三方的服務(wù)來檢查 App 的安全漏洞。
在 Android 12 上這幾個行為的變更它們都有一個共性:安全性,可見 Google 這幾年在安全上做了很多的努力,當(dāng)然還有其他的一些行為的變更,可以前往查看 行為變更:以 Android 12 為目標(biāo)平臺的應(yīng)用。
在這里還分享一份由大佬親自收錄整理的 學(xué)習(xí)PDF+架構(gòu)視頻+面試文檔+源碼筆記 , 高級架構(gòu)技術(shù)進(jìn)階腦圖、Android開發(fā)面試專題資料,高級進(jìn)階架構(gòu)資料
這些都是我現(xiàn)在閑暇時還會反復(fù)翻閱的精品資料。里面對近幾年的大廠面試高頻知識點都有詳細(xì)的講解。相信可以有效地幫助大家掌握知識、理解原理,幫助大家在未來取得一份不錯的答卷。
當(dāng)然,你也可以拿去查漏補(bǔ)缺,提升自身的競爭力。
真心希望可以幫助到大家,Android路漫漫,共勉!
如果你有需要的話,只需 私信我【進(jìn)階】即可獲取
這個意味著你的桌面程序崩潰了。可以重新打開。
如果反復(fù)出現(xiàn)這個提示,證明這款軟件和你的手機(jī)不兼容。你可以換一款軟件試試。
adw桌面是個不錯的桌面,你可以到各種安卓的論壇里搜索一下。
當(dāng)前名稱:android崩潰,android崩潰率
URL網(wǎng)址:http://chinadenli.net/article38/dsgdcsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站收錄、App開發(fā)、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)