我在Mac上使用apktool 2.4.1,今天我嘗試從apk鏡像中反編譯和重新編譯whatsapp最新beta,並且重新編譯失敗並出現明顯錯誤:
error: No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android'
我通過安裝android 10 framework-res.apk解決了該問題。
這是我的方法:
使用USB通過ADB連接連接設備
首先,您需要知道framework-res.apk在哪里,我的OnePlus7Pro framework-res.apk位於/system/framework-res.apk中
輸入以下內容即可獲取apk
adb pull /system/framework-res.apk <您的計算機的路徑>
然后通過鍵入以下內容在apktool中安裝框架
apktool_2.4.1.jar if <path_to_grabbed_framework>
嘗試編譯
大多數設備的框架apk路徑有所不同,因此您可以自己搜索。 是的,只要您知道框架apk的位置,此抓取框架apk便不需要root,因此/system/framework本身也可以不使用root進行訪問,因此您可以自己研究!
假設不想麻煩,也可以直接下載該文件進行安裝,提取於 Android 10 虛擬機。
下載鏈接:
https://drive.google.com/file/d/1NVYCc-29C39XSoDOTYBjivuSQzAQhD3A/view