檢測包相容性的方法

weixin_33797791發表於2018-11-07

Class掃描分常量區 和 方法

lint可以做的事情
Classdog,lint不能做的事,呼叫了bind的缺沒有呼叫unbind。
類方法掃描
資源隔離

Code相容性檢測

K-V
元件最新版本 - 不相容元件版本
元件最新版本 - 不相容線上版本、依賴樹存在多份當前元件的不同版本,並且不相容
對元件版本列表建立相容段位表。為1的有N個版本,為2的有N個版本,1和2不相容。
對SDK對外介面,控制耦合,控制程式碼邊界

  1. 相容性靜態分析 位元組碼對方法掃描
  2. 建立 全域性相容性段位表 段位修復
  3. 線上apk模組依賴關係儲存
  4. 我們的協議介面

關心不相容問題的兩個視角:
SDK方:不相容涉及業務方和業務版本。tips時機 在SDK上傳到maven
業務方:由哪個sdk導致不相容以及依賴鏈路,tips時機 三輪測試前

資源有相容性問題麼?

Jar的依賴剔除同名資料夾 merge resource

在Q4規劃
相容性分析
自動提取依賴

包dex有相容性問題

資源問題同樣有相容性問題

相關文章