前言
衆所周知Android應用開發中,主流開發工具是Android Studio,雖然AS支持導入eclipse 開發的工程源碼,但省不了改一些配置,如果你電腦上裝有eclispe開發Android的環境,直接用導入源碼即可。對於eclipse如何搭建Android的開發環境,在本篇文章中不是重點,重點是如何安裝jadClipse插件,平時調試時總是忍住查看下類或方法源碼,沒有該插件會出現下面這種情況:
看到這種情況心理肯定罵不爽。該插件的主要作用反編譯java類文件編譯後生成的.class文件的源碼,反編譯源碼對於調試、發現問題,提供高開發效率起到很好的作用。
該插件的主要應用場景:
1.查看android support包的源碼或Android Private Libraries中的源碼或主流第三方框架源碼等;
2.jar包不是大衆第三方類庫或是供應商提供的開發類庫,需要查看其源碼來分析bug;
3.平時學習,需要分析jdk的一些語法糖,jad就非常方便了。
比如研究泛型擦除,源碼是下面這樣:
Map<String, String> map = new HashMap<String, String>();
map.put("a", "a");
map.put("b", "b");
查看calss之後是這樣:
Map map = new HashMap();
map.put("a", "a");
map.put("b", "b");
準備工具
https://download.csdn.net/download/u011082160/11180439
eclipse環境jad配置
1.解壓eclipse-jadClipse插件.rar,如下
2. 將net.sf.jadclipse_3.3.0.jar拷貝到eclipse的plugins目錄下,如果未打開eclipse打開eclispe,否則點擊file中restart重啓eclispe
3.設置jad的可執行文件路徑以及生成的臨時文件路徑
- Eclipse-->Window-->Prefrences--java-->Jadclipse
- 或搜索關鍵字jad定位
4.設置*.class文件類型默認打開方式,可以不設置,因爲有些jar包有源碼不需要通過插件jad打開預覽
現在設置*.class without source文件類型打開方式就行,點擊Associate editors欄下Add增加按鈕,添加JadClipse Class File Viewer並設置成默認
Eclipse-->Window-->Prefrences-->General-->Editor-->File Association-->>點擊File Type
或搜索關鍵字file定位
5.測試,定位到jar包對應的class文件,按F3鍵或者雙擊鼠標左鍵即可
測試沒有源碼的jar包
測試有源碼的android sdk(不會採用插件打開)
jad命令行配置
最後順便附上jad的常用的命令行操作:
1.首先對jad.exe配置環境變量,添加到系統Path路徑,如下圖所示:
2.測試環境變量是否配置成功:
3.然後cmd進入class文件目錄,進行下面的命令測試
(1).直接輸入類文件名,且支持通配符,如下所示。
E:\Test>jad Test.class
E:\Test>jad *.class
結果是將example1.class反編譯爲Test.jad。將Test.jad改爲Test.Java即得源文件。
(2).反編譯結果以.Java爲擴展名
E:\Test>jad -s Java Test.class
(3).將反編譯結果輸出到屏幕
E:\Test>jad -p Test.class
(4).將反編譯結果重定向到文件
E:\Test>jad -p Test.class>Test.Java
(5).指定反編譯的輸出文件目錄
E:\Test>jad -o -dtest -sJava *.class
jad存在問題
- jad反編譯後可能排版錯亂,與原始源碼的排版不同;
- jad反編譯並不保證和原始源碼100%相同;
- jad反編譯註釋消失和註解消失;
上面這些問題,對實際分析問題影響很小,忽略不計。