精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android 12 已來,你的 App 崩潰了嗎?

移動開發 Android
Android 12 已來,你的 App 崩潰了嗎?我們已經開始做 Android 12 的適配了,在 Android 12 中包含了很多的功能和一些行為的變更,接下來我們一起來分析這些行為的變更對我們的應用產生了那些影響。

Android 12 已來,你的 App 崩潰了嗎?我們已經開始做 Android 12 的適配了,在 Android 12 中包含了很多的功能和一些行為的變更,接下來我們一起來分析這些行為的變更對我們的應用產生了那些影響。

通過這篇文章你將學習到以下內容:

  • 為什么在 Android 12 上需要顯示聲明 android:exported 屬性?
  • 為什么在 Android 12 上需要顯示指定 PendingIntent 的可變性?
  • 為什么在 Android 12 上限制 adb 備份的默認行為?
  • 如何檢查 App 的安全漏洞?

android:exported 屬性

在 Android 12 中包含 的 activity 、 service 或 receiver必須為這些應用組件顯示聲明 android:exported 屬性,如下所示。

 

 

  1. <activity 
  2.     android:name=".TestActivity" 
  3.     android:exported="false"
  4.     <intent-filter> 
  5.         ...... 
  6.     </intent-filter> 
  7. </activity> 

如果在包含 的 activity 、 service 或 receiver 組件中,沒有顯示聲明 android:exported 的值,你的應用將無法安裝,錯誤日志如下所示。

 

  1. Installation did not succeed. 
  2. The application could not be installed: INSTALL_FAILED_VERIFICATION_FAILURE 
  3. List of apks: 
  4. [0] '.../build/outputs/apk/debug/app-debug.apk' 
  5. Installation failed due to'null' 

如果您的應用在需要聲明 android:exported 的值時未進行此聲明,錯誤日志如下所示。

 

  1. Targeting S+ (version 10000 and above) requires that an explicit value for \ 
  2. android:exported be defined when intent filters are present 

如果對上面的異常產生的條件,不是很理解,可以點擊下方鏈接查看,目前已經有很多開源項目都已經開始適配這個行為的變更了,例如 leakcanary 等等。

這個行為的變更無論是對庫開發者 和 還是應用開發者影響都非常大。

為什么在 Android 12 上需要顯示聲明 android:exported 屬性

android:exported 屬性的默認值取決于是否包含 ,如果包含 那么默認值為 true,否則 false。

  • 當 android:exported="true" 時,如果不做任何處理,可以接受來自其他 App 的訪問
  • 當 android:exported="false" 時,限制為只接受來自同一個 App 或一個具有相同 user ID 的 App 的訪問

正因為 android:exported 的屬性的默認值的問題,Twicca App 發生過一次安全性問題,因為另一個沒有訪問 SD 卡或網絡權限的 App,可以通過 Twicca App 將存儲在 SD 卡上的圖片或電影上傳到 Twicca 用戶的 Twitter 賬戶上的社交網絡上。

產生問題的代碼如下所示:

  1. <activity android:configChanges="keyboard|keyboardHidden|orientation" android:name=".media.yfrog.YfrogUploadDialog" android:theme="@style/Vulnerable.Dialog" android:windowSoftInputMode="stateAlwaysHidden">            
  2.     <intent-filter android:icon="@drawable/yfrog_icon" android:label="@string/YFROG"
  3.         <action android:name="jp.co.vulnerable.ACTION_UPLOAD" />                 
  4.         <category android:name="android.intent.category.DEFAULT" />                 
  5.         <data android:mimeType="image/*" />                 
  6.         <data android:mimeType="video/*" />             
  7.     </intent-filter>         
  8. </activity> 

因為添加了 intent-filter 所以 android:exported 的屬性的默認值為 true,因此可以接受來自其他 App 的訪問,進而造成了上述問題(通過 Twicca App 將存儲在 SD 卡上的圖片或電影上傳到 Twicca 用戶的 Twitter 賬戶上的社交網絡上),而解決方案有兩個:

方案一:添加 android:exported="false" 屬性

  1. <activity android:exported="false" android:configChanges="keyboard|keyboardHidden|orientation" android:name=".media.yfrog.YfrogUploadDialog" android:theme="@style/ VulnerableTheme.Dialog" android:windowSoftInputMode="stateAlwaysHidden" >     
  2. </activity> 

方案二:Twicca App 沒有使用方式一,而是檢查調用者的包名是否與自身的包名相同

 

  1. public void onCreate(Bundle arg5) { 
  2.     super.onCreate(arg5); 
  3.     ... 
  4.     ComponentName v0 = this.getCallingActivity(); 
  5.     if(v0 == null) { 
  6.         this.finish(); 
  7.     } else if(!jp.r246.twicca.equals(v0.getPackageName())) { 
  8.         this.finish(); 
  9.         } else { 
  10.             this.a = this.getIntent().getData(); 
  11.             if(this.a == null) { 
  12.                 this.finish(); 
  13.             } 
  14.             ... 
  15.         } 
  16.     } 

這種方案也是可行的,因為在一臺設備上,不可能會出現兩個包名相同的應用。

這僅僅是關于 activity 的安全漏洞的其中一個,在不同的場景下利用這些漏洞做的事情也可能不一樣。當然還有 service 和 receiver 組件也都是一樣,存在安全性問題。

指定 PendingIntent 的可變性

在 Android 12 中創建 PendingIntent 的時候,需要顯示的聲明是否可變,請分別使用 PendingIntent.FLAG_MUTABLE 或 PendingIntent.FLAG_IMMUTABLE 標志,如果您的應用試圖在不設置任何可變標志的情況下創建 PendingIntent 對象,系統會拋出 IllegalArgumentException 異常,錯誤日志如下所示。

 

  1. PACKAGE_NAME: Targeting S+ (version 10000 and above) requires that one of \ 
  2. FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. 
  3.  
  4. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if \ 
  5. some functionality depends on the PendingIntent being mutable, e.g. if \ 
  6. it needs to be used with inline replies or bubbles. 

為什么在 Android 12 上需要顯示的指定 PendingIntent 的可變性

在 Adnroid 12 之前,默認創建一個 PendingIntent 它是可變的,因此其他惡意應用程序可能會攔截,重定向或修改此 Intent。(但是是有條件限制的)

一個 PendingIntent 是一個可以給另一個應用程序使用的 Intent,PendingIntent 接收待處理意圖的應用程序可以使用與產生待處理意圖的應用程序相同的權限和身份執行待處理意圖中指定的操作。

因此,創建待處理意圖時必須小心,為了安全性 Google 在 Android 12 中需要開發者自己來指定 PendingIntent 的可變性。

adb 備份限制

Android 開發者都應該知道這個命令 adb backup , 它可以備份應用的數據,在 Android 12 中,為了保護私有應用數據,用戶運行 adb backup 命令時,從設備導出的任何其他系統數據都不包含應用數據。

如果你在測試和開發過程中需要使用 adb backup 來備份應用數據,你可以在 AndroidManifest 中將 android:debuggable 設置為 true 來導出應用數據。

 

 

  1. <application 
  2.     android:name=".App" 
  3.     android:debuggable="true" 
  4.     ....../> 

注意:在發布應用前將 android:debuggable 設置為 false。

為什么在 Android 12 上限制了 adb backup 命令的默認行為

因為這個存在嚴重的安全問題,當初 Google 為了提供 App 數據備份和恢復功能,可以在 AndroidManifest 中添加 android:allowBackup 屬性,默認值為 true, 當你創建一個應用的時候,會默認添加這個屬性,如下所示。

 

 

  1. <application 
  2.     android:name=".App" 
  3.     android:allowBackup="true" 
  4.     ....../> 

當 android:allowBackup="true" 時,用戶可以通過 adb backup 和 adb restore命令對應用數據進行備份和恢復,也就是說可以在其他的 Android 手機上安裝同一個應用,通過如上命令恢復用戶的數據。

為了安全起見,我們在發布出去的 Apk 中一定要將 android:allowBackup 屬性設置為 false 來關閉應用程序的備份和恢復功能,以免造成信息泄露。國民級應用 XX 信, 在曾今發出的版本中 allowBackup 的屬性值是 true,被其他逆向開發者利用之后,現在的版本中這個值已經修改為 false了,有興趣的小伙們可以反編譯看看。

如何檢查 App 的安全漏洞

在這里推薦一個開源項目 linkedin/qark 這是由 LinkedIn 開源的項目,這個工具被設計用來尋找與安全相關的 Android 應用程序漏洞,無論是源代碼還是打包的 APK,具體的用法文檔上寫的非常的清楚了,這里不做詳細的介紹了。

當然也有很多公司花了重金去購買第三方的服務來檢查 App 的安全漏洞。

在 Android 12 上這幾個行為的變更它們都有一個共性:安全性,可見 Google 這幾年在安全上做了很多的努力,當然還有其他的一些行為的變更,可以前往查看 行為變更:以 Android 12 為目標平臺的應用。

https://developer.android.com/about/versions/12/behavior-changes-12

最后

在這里還分享一份由大佬親自收錄整理的學習PDF+架構視頻+面試文檔+源碼筆記,高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料

這些都是我現在閑暇時還會反復翻閱的精品資料。里面對近幾年的大廠面試高頻知識點都有詳細的講解。相信可以有效地幫助大家掌握知識、理解原理,幫助大家在未來取得一份不錯的答卷。

當然,你也可以拿去查漏補缺,提升自身的競爭力。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2015-06-04 11:11:33

Dynatrace

2018-04-02 10:28:10

iOSPWA蘋果

2015-08-03 15:29:28

Dynatrace

2012-12-04 09:18:02

2021-01-12 11:37:09

Python編程語言開發

2022-02-09 14:13:18

Android 12冷啟動UC內核

2019-11-20 10:38:36

路由路由協議路由器

2013-01-14 16:19:09

APP生存狀態

2021-09-13 09:31:45

反詐中心APP電信網絡詐騙網絡安全

2021-10-10 20:36:49

Android Root權限

2019-04-18 15:32:45

Serverless騰訊云TVP

2019-08-23 18:40:54

機器人人工智能

2021-05-09 22:50:00

手機蘋果隱私

2024-04-16 00:24:54

AndroidApp入口點

2015-07-20 17:01:12

APP崩潰云智慧

2024-04-15 00:04:00

APP開發

2020-04-03 09:35:33

前端框架Vue

2011-07-08 10:18:09

海量數據數據挖掘

2014-06-27 10:39:36

APP設計談戀愛

2024-02-19 07:52:40

CSSJS屬性
點贊
收藏

51CTO技術棧公眾號

中文有码一区| 中文字幕在线视频网站| 精品一区二区免费视频| 欧美国产日韩一区二区三区| 少妇被狂c下部羞羞漫画| 香蕉伊大人中文在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 91在线免费网站| 国产真实乱人偷精品视频| 竹菊久久久久久久| 欧美一区在线视频| 播放灌醉水嫩大学生国内精品| 第一页在线观看| 国产真实乱偷精品视频免| 亚洲2020天天堂在线观看| 国产高清自拍视频| 一区二区三区无毛| 欧美视频中文字幕在线| 亚洲人成77777| 污视频在线免费观看| 麻豆专区一区二区三区四区五区| 久久久久久国产精品| 人妻aⅴ无码一区二区三区| 视频一区国产| 欧美日韩国产高清一区二区三区 | 性chinese极品按摩| av片在线观看网站| 亚洲国产精品高清| 蜜桃传媒视频第一区入口在线看| av免费在线不卡| 日韩av一区二区三区四区| 久久免费精品视频| 亚洲一区电影在线观看| 久久不见久久见中文字幕免费| 日韩精品在线看片z| 日本中文字幕观看| 美女色狠狠久久| 精品久久久久久久久中文字幕| 天天在线免费视频| av中文字幕一区二区三区| 99视频一区二区| 成人在线观看91| 99热这里只有精品66| 久久精品国内一区二区三区| 国产精品盗摄久久久| 在线视频一区二区三区四区| 樱桃成人精品视频在线播放| 美日韩在线视频| 亚洲欧美综合7777色婷婷| 国产成人一区二区三区影院| 日韩成人在线电影网| 中文字幕在线视频播放| 成人线上播放| 亚洲第一网中文字幕| 韩国三级视频在线观看| 亚洲精品午夜| 337p亚洲精品色噜噜| 999在线精品视频| 色综合.com| 91精品在线观看入口| 国产美女视频免费看| 国产精品免费精品自在线观看| 91精品欧美一区二区三区综合在 | 丁香一区二区三区| 97神马电影| 国产综合无码一区二区色蜜蜜| 国产黑丝在线一区二区三区| 成人18视频| 国模无码一区二区三区| 不卡的av在线| 久久日韩精品| 精品推荐蜜桃传媒| 国产精品狼人久久影院观看方式| 亚洲一区三区| 国产成人l区| 亚洲综合成人在线视频| 18禁网站免费无遮挡无码中文| 九色porny丨入口在线| 欧美性生活大片免费观看网址| 91激情视频在线| 亚洲精品tv| 亚洲成人精品久久久| 大又大又粗又硬又爽少妇毛片 | 国产91在线精品| 欧美电影在线免费观看| 日韩欧美色视频| 国产色噜噜噜91在线精品 | 日本一卡二卡在线| 亚洲成aⅴ人片久久青草影院| 国产亚洲精品久久久优势| 香蕉久久久久久久| 欧美精品一级| 国产91精品久| 国产精品区在线观看| 成人国产电影网| 欧美日韩免费高清| 2024最新电影在线免费观看| 精品久久久久久久久久| 爱爱爱爱免费视频| 欧美美女在线直播| 色七七影院综合| 天海翼一区二区| 久久精品噜噜噜成人av农村| 国产成人一区二区三区免费看| 免费看男男www网站入口在线 | 国产福利视频一区二区三区| 蜜桃在线一区二区三区精品| 看女生喷水的网站在线观看| 五月天一区二区三区| www.99av.com| 久久porn| 欧美成人精品在线观看| www.久久久久久久| 成人一级片在线观看| 亚洲精品成人a8198a| а√天堂资源官网在线资源| 欧美日韩精品久久久| aaaaaav| 午夜激情一区| 国产精品视频区1| 日本v片在线免费观看| 一区二区三区影院| 黄色aaa级片| 西野翔中文久久精品国产| 久久综合伊人77777| 欧美一级黄视频| 99re热视频精品| 老子影院午夜伦不卡大全| 玖玖精品在线| 亚洲人成电影网站色…| 国产精品1000| 国产精品系列在线观看| 在线观看精品视频| av高清一区| 亚洲欧美精品一区二区| 亚洲精品1区2区3区| 国产成人自拍在线| 亚洲国产精品女人| 久草综合在线| 中文字幕亚洲精品| 国产一区二区视频免费| 久久青草欧美一区二区三区| 久久精品国产sm调教网站演员| 亚洲性视频在线| 久久伊人免费视频| 国产精品久久婷婷| 国产精品超碰97尤物18| 日本中文字幕高清| 成人女性视频| 国产精品视频xxxx| 色影院视频在线| 欧美三级电影网站| 亚洲一级理论片| 热久久久久久久| 午夜老司机精品| av在线播放一区| 亚洲欧美在线一区| 18国产免费视频| 国产精品伦一区| 黄色小视频免费网站| 国产精品毛片久久| 成人网址在线观看| av免费在线观| 精品国产百合女同互慰| 国产无精乱码一区二区三区| 成人av在线网站| 国产91在线视频观看| 免费欧美激情| 国产精品久久国产精品99gif| av午夜在线| 91精品在线一区二区| 久久精品免费av| 99久久精品国产毛片| 日本女优爱爱视频| 欧美超碰在线| 99电影网电视剧在线观看| 91在线三级| 亚洲欧美综合另类中字| 一区二区三区免费在线| 亚洲精品久久久蜜桃| 无码av免费精品一区二区三区| 亚洲日本激情| 欧美在线一二三区| 国产一区二区视频在线看| 久久久在线免费观看| 黄色国产在线| 欧美一区二区视频网站| 日韩免费观看一区二区| 国产精品区一区二区三| 女同性αv亚洲女同志| 午夜亚洲激情| 致1999电视剧免费观看策驰影院| 一区二区三区四区视频免费观看| 欧美一区二三区| 免费a级人成a大片在线观看| 精品成人一区二区三区四区| 夜夜爽妓女8888视频免费观看| 亚洲婷婷在线视频| 亚洲国产第一区| 国内精品伊人久久久久av影院| 欧美视频免费看欧美视频| 精品视频免费| 国产伦一区二区三区色一情| 99精品国自产在线| 久久久久五月天| 91成人高清| 亚洲精品狠狠操| 国产美女精品视频国产| 色综合天天狠狠| 亚洲综合网在线| 国产校园另类小说区| 四虎永久免费观看| 免费观看日韩电影| 91av资源网| 欧美精品日本| 久久免费视频2| 黑丝美女一区二区| 国产综合欧美在线看| 91精品在线免费视频| 国产精品999| 久草在线资源福利站| 欧美黑人国产人伦爽爽爽| melody高清在线观看| 日韩成人激情视频| 欧美一级淫片aaaaaa| 制服丝袜中文字幕亚洲| 在线观看亚洲一区二区| 一本到不卡免费一区二区| 国产一级在线观看视频| 亚洲精品中文字幕在线观看| 欧美老女人性生活视频| 久久久精品日韩欧美| 美女伦理水蜜桃4| 国产精品18久久久久久久网站| 五月婷婷六月丁香激情| 久久伊人亚洲| 日韩av在线综合| 中文久久精品| 国产综合av在线| 日韩亚洲精品在线| 欧美视频在线观看视频| 欧美日韩精选| 日本a在线天堂| 欧美日韩mv| 中文字幕日韩精品无码内射| 亚洲乱码电影| 熟女熟妇伦久久影院毛片一区二区| 成人羞羞动漫| 亚洲v国产v| 日韩一级毛片| 亚洲精品免费在线看| 日韩欧美网址| 熟女熟妇伦久久影院毛片一区二区| 99久久夜色精品国产亚洲96| 一本一生久久a久久精品综合蜜 | 国产亚洲欧洲高清一区| 国产在线中文字幕| 国产亚洲欧美另类中文| 国产高清av在线| 综合网日日天干夜夜久久| 亚洲搞黄视频| 日韩在线免费视频| 精品黄色免费中文电影在线播放| 久久久www成人免费精品| 超碰在线caoporn| 欧美—级高清免费播放| 欧洲一区精品| 国产精品狠色婷| 9999在线精品视频| 99在线视频免费观看| 三级小说欧洲区亚洲区| 日本一区视频在线观看免费| 清纯唯美日韩| 日本一本草久p| 99亚洲伊人久久精品影院红桃| 久久综合久久色| 久久99久久久久| av免费观看不卡| 久久人人97超碰com| 免费成人深夜蜜桃视频| 依依成人综合视频| 五月婷婷视频在线| 欧美日韩国产另类一区| 黄片毛片在线看| 亚洲最新中文字幕| 日本乱理伦在线| 国产a∨精品一区二区三区不卡| 成人av色网站| 国产精品免费一区二区三区观看 | 欧美国产视频| 成人三级在线| 成人3d动漫在线观看| 神马午夜伦理影院| 亚洲综合日韩| 涩多多在线观看| 91在线视频观看| 成年人二级毛片| 欧美视频在线观看 亚洲欧| 一级黄色免费看| 日韩精品视频中文在线观看| 免费超碰在线| 奇米一区二区三区四区久久| 国产精品日本一区二区三区在线| 久久精品日产第一区二区三区| 四虎国产精品免费观看| 波多野结衣家庭教师在线| 激情欧美一区二区| www.黄色在线| 亚洲成av人片在线观看| 一级片免费观看视频| 日韩电影中文字幕在线| av在线导航| 国产精品一二三视频| 日韩高清三区| 国产传媒久久久| 久久99精品久久久久久国产越南 | 在线国产一区| 中文字幕在线观看第三页| 成人精品一区二区三区中文字幕| 超碰人人人人人人人| 亚洲va欧美va人人爽| av一区二区三| 色婷婷**av毛片一区| 欧美无毛视频| 精品综合在线| 极品日韩av| 中文字幕在线视频一区二区| 中文字幕欧美激情一区| 亚洲欧美偷拍视频| 亚洲精品不卡在线| 国产啊啊啊视频在线观看| 亚洲自拍偷拍色片视频| 天天做天天爱综合| 日本人视频jizz页码69| 久久精品一二三| 五月天综合激情网| 亚洲黄一区二区| 成人国产电影在线观看| 亚洲aaa激情| 一区二区三区四区日韩| 国产女同无遮挡互慰高潮91| 国产精品国产自产拍在线| 国产精品高清无码| 国产一区二区三区中文| 国产成人午夜性a一级毛片| 日韩国产在线一区| 日本成人在线电影网| 天天操天天干天天操天天干| 91久久久免费一区二区| 岛国在线视频| 国产精品精品视频| 久久神马影院| 亚洲成人手机在线观看| 一区二区三区在线影院| 亚洲精品久久久狠狠狠爱 | 欧美精品高清| 日本高清不卡一区二区三| 三级影片在线观看欧美日韩一区二区 | 天天综合91| 特级黄色录像片| 成人永久看片免费视频天堂| 91看片在线播放| 亚洲精品午夜精品| 日本欧美一区| 中文字幕久精品免| 国产成人午夜精品5599| 国产精品不卡av| 日韩国产精品亚洲а∨天堂免| 亚洲欧美电影| 亚洲精品久久久久久一区二区| 激情成人综合网| 国产精品99re| 亚洲男女性事视频| 欧美风情在线视频| 97在线国产视频| 26uuu色噜噜精品一区| 亚洲天堂avav| 久久久久久久久久久成人| 婷婷精品在线观看| 五月天婷婷亚洲| 亚洲永久精品大片| 九色在线免费| 91免费看国产| 国产欧美短视频| 黄色片网站在线播放| 精品动漫一区二区三区在线观看| 黄色亚洲网站| 熟女视频一区二区三区| 99久久99久久免费精品蜜臀| 涩涩视频在线观看| 欧美丰满少妇xxxxx| 蜜桃国内精品久久久久软件9| 最近中文字幕一区二区| 亚洲成人激情综合网| 91看片在线观看| 国产伦精品一区二区三区视频免费| 日本91福利区| 好吊操这里只有精品| 色老头一区二区三区| 成人自拍在线|