日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android P FAQ第一弹:非SDK管控特性

發(fā)布時間:2025/5/22 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android P FAQ第一弹:非SDK管控特性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??Android P預覽版發(fā)布的非 SDK 接口管控特性,被稱為 Android 史上最嚴格的變更特性之一,針對這個特性開發(fā)者在適配工作中普遍遇到哪些疑點和困惑?華為終端開放實驗室整理了一份Android P非 SDK 管控特性 FAQ,一起來看看吧。

Q1.什么是非 SDK 接口?

A:谷歌網站:

https://developer.android.goo... 在此網站能夠查詢到的接口都是 SDK 接口;除以上的 SDK 接口外,其他都是非 SDK 接口。

Q2.如果調用了非 SDK 接口,會怎么樣?

A: 無論通過調用、反射還是 JNI 等方式調用非 SDK 接口,都會導致應用出現(xiàn) crash,無法啟動;或在運行過程中出現(xiàn)崩潰、閃退等現(xiàn)象;也可能導致應用功能不可用等嚴重兼容性問題,其影響范圍波及所有調用此接口的應用,因此,非 SDK 接口管控被稱為 Android 史上最嚴格的變更特性之一。

Q3. 什么是非 SDK 接口管控名單?

A: 名單類型分 light grey list (淺灰名單), dark grey list (深灰名單), dark list(黑名單)。

Q4.怎么查非 SDK 接口管控名單?

A: 查詢鏈接:

https://android.googlesource....

Q5.hidden api淺灰名單、深灰名單和黑名單進一步說明:

A:①淺灰名單:

hiddenapi-light-greylist.txt+hiddenapi-vendor-list.txt,hiddenapi-p-light-greylist.txt 名單目前還未用到,可以暫不關注。

②深灰名單和黑名單:

目前沒有具體的代碼名單可以看到深灰和黑名單接口列表,開發(fā)者可以通過編譯谷歌提供的靜態(tài)掃描veridex工具(需要下載谷歌 Android P 整個工程代碼),動態(tài)生成淺灰、深灰和黑名單接口名單:

工具路徑: art/tools/veridex/

工具編譯:make appcompat

outtargetcommonobjPACKAGING下會動態(tài)生成三個名單:

?

源碼下載指導:

https://source.android.google...

③需要整改的接口名單: 黑名單接口

④在 DP1 版本中黑中名單是空的,只有淺灰+深灰,不會因為非 SDK 變更導致應用出現(xiàn)兼容性問題;而 DP2 版本開始加入黑名單,如果應用未在 DP1 版本整改和適配的話,可能會因為 DP2 版本加入的黑名單導致兼容性問題。

Q6.名單變化的趨勢是怎樣的?

A:整合 OEM 廠商的掃描測試+谷歌的掃描測試+開發(fā)者自己掃描測試,申請將掃描到的黑名單接口加入到灰名單中。目前趨勢是黑名單不斷減少,淺灰名單不斷增加。DP2 版本淺灰名單是現(xiàn)在谷歌最新淺灰名單的一個子集,應用在 DP2 版本中測試可以充分暴露問題。因此,針對非 SDK 問題,應用在 DP2 版本整改之后,不會在后續(xù)版本引入新的問題。

Q7.名單申請deadline是什么時間?

A:目前谷歌官方未公布,應用須盡快向谷歌反饋需要加灰名單的接口;越晚反饋申請難度越大,之后再發(fā)現(xiàn)有新的必須調用的非 SDK API 就只能走 escalation 了,申請修改加灰名單的難度系數將增加很多。

Q8.應用使用 blacklist 非 SDK 接口導致崩潰,無法發(fā)現(xiàn)其調用的其他更多非 SDK 接口,怎么辦?

A:請用下面的命令將 blacklist 設為只警報不崩潰:

adb shell settings put global hidden_api_policy_pre_p_apps 1

adb shell settings put global hidden_api_policy_p_apps 1

注意:此為開發(fā)者選項,僅供開發(fā)時使用

復位命令:

adb shell settings delete global hidden_api_policy_pre_p_apps

adb shell settings delete global hidden_api_policy_p_apps

Q9.應用現(xiàn)在要做的最緊急的事情是?

A:在DP2版本中通過 veridex 靜態(tài)分析 + logcat 動態(tài)測試充分暴露問題,發(fā)現(xiàn)必須要使用的且不在淺灰名單的非 SDK 接口,需盡快反饋給谷歌,申請加淺灰名單,并提交申請理由,以確保后續(xù)的 DP 版本不會出現(xiàn)同樣的非 SDK 接口問題。

問題反饋鏈接:

https://issuetracker.google.c...

Q10. 使用加固的應用該怎么做?

A:對于使用加固的應用,因為 OEM 廠商和谷歌都無法通過靜態(tài)工具幫助應用掃描使用的非 SDK 接口列表。如果應用還未更新最新適配谷歌 Android P 的加固版本,存在無法啟動的問題,那么通過動態(tài)掃描的方式也是無法進行的。所以使用加固的應用需要通過靜態(tài)+動態(tài)掃描白包的方式獲取正在使用的非 SDK 接口,并反饋給谷歌申請加灰名單。

重點關注:

1.應用測試中發(fā)現(xiàn)需要申請加入淺灰名單的非 SDK 接口需盡快反饋給谷歌,越晚反饋,谷歌修改的難度將越大,可能導致無法加入灰名單而影響應用功能;

2.谷歌發(fā)布的 DP2 版本中已加入黑名單,建議開發(fā)者在 DP2 版本中測試驗證應用調用的非 SDK 接口,針對無法整改的非 SDK 接口,及時向谷歌反饋必需使用此接口的詳細原因,申請重新評估該接口。

Android P FAQ系列將持續(xù)推出,歡迎大家掃描屏幕下方二維碼關注了解更多

總結

以上是生活随笔為你收集整理的Android P FAQ第一弹:非SDK管控特性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。