背景:
我在HierarchyViewer中查看「發佈」這個View,HierarchyViewer顯示了一個
@414a54c8和
id/flipper_head_action。
注意:@後加一串16進制數並非這個view的id,而只是一個對咱們人類沒有任何意義的指針值。
可是咱們有這個元素的id名
flipper_head_action。咱們須要按圖索驥,按這個id名找到對應的數值。
解決步驟:
1.下載反編譯器
dex2jar,和一個java源代碼查看器
jd-gui
下載地址:
2.解壓第一步下載的東西,放在適當文件夾。
3.將要反編譯的apk文件後綴改成zip並解壓,獲得其中的classes.dex,它就是java文件編譯再經過dx工具打包而成的,將classes.dex複製到第2步解壓獲得的
dex2jar.bat所在文件夾。
4.將命令行定位到
dex2jar.bat
所在文件夾,運行命令:
dex2jar.bat classes.dex
在同文件夾下生成:
classes_dex2jar.jar
5.打開第二步解壓獲得的
jd-gui.exe,File-》Open File打開第四步生成的
classes_dex2jar.jar
6.如今在jd-gui中的左側導航中,定位到APP所在的包吧!(這個包名,你在HierarchyViewer裏能看獲得)。例圖:
7.滾動jd-gui的左側導航欄至較下方,能夠看到反編譯出的R文件。而其中有一個R$id就是咱們要找的文件。
8.如今,在R$id文件中,搜索本文開始獲得的元素id名字吧(
flipper_head_action),咱們獲得了這個元素的id的int值爲2131427472。大功告成!
本篇文章參考了: