將apk文件拷貝至sdcard上。
創新互聯的客戶來自各行各業,為了共同目標,我們在工作上密切配合,從創業型小企業到企事業單位,感謝他們對我們的要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。專業領域包括網站設計、網站建設、電商網站開發、微信營銷、系統平臺開發。
命令順序如下:
進入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時就可以看到你安裝的所有的apk文件。輸入cp 空格 對應的apk 空格 /sdcard/
這樣就將apk文件拷貝出來了。
將apk文件后綴直接變成rar格式,可以看到熟悉的目錄結構了,
其中xml文件打開后都是二進制的,無法查看。
這時就用到了一個android4me的AXMLPrinter2工具。(請自行百度搜索)
輸入以下命令,將xml文件解析出來
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml h.xml
目前進行到這一步,只能看到xml文件的內容,其工程中的java源文件還是看不到,看目錄結構下有一個classes.dex文件,我們需要將dex文件變為jar文件。
這里用到了另一個工具dex2jar。(自行搜索下載)
在Windows下解壓之后的目錄如下圖所示:
在命令行中,進入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:\classes.dex
運行完之后,在C盤會多一個classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請自行搜索下載)
它分為Windows、Linux、和max三個版本,這里我下載的是Windows版本的。
解壓之后,雙擊運行exe文件,選擇classes.dex.dex2jar.jar文件,相應的jar文件中的Java文件就被反向工程顯示出來了!
Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨后Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布于2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平臺手機的全球市場份額已經達到78.1%。?[1]??2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界采用這款系統的設備數量已經達到10億臺。
Android一詞最早出現于法國作家利爾亞當(Auguste Villiers de l'Isle-Adam)在1886年發表的科幻小說《未來夏娃》(L'ève future)中。他將外表像人的機器起名為Android。
Android的Logo是由Ascender公司設計的,誕生于2010年,其設計靈感源于男女廁所門上的圖形符號, [1]? 于是布洛克繪制了一個簡單的機器人,它的軀干就像錫罐的形狀,頭上還有兩根天線,Android小機器人便誕生了。其中的文字使用了Ascender公司專門制作的稱之為“Droid ” 的字體。Android是一個全身綠色的機器人,綠色也是Android的標志。顏色采用了PMS 376C和RGB中十六進制的#A4C639來繪制,這是Android操作系統的品牌象徵。有時候,它們還會使用純文字的Logo。
Java修煉手冊app
目前知道公開的API
Github:
Weibo(微博):
Twitter:
Dribbble:
Angelist:
Nytimes:
安卓系統中的c4droid是一個可以打代碼的手機軟件,如同Visual C++ 6.0那樣編輯編譯C程序。
下面是詳細信息
軟件名稱:c4droid
軟件語言:中/英 文
軟件大小:1.7M
應用平臺:Android 2.2以上版本
c4droid是款Android設備上的C/C++程序編譯器,默認以tcc(tiny c compiler)為編譯器,可以選擇安裝gcc插件(20mb,只有root用戶可以使用),選用gcc后,可以用sdl(簡單直控媒體層庫,需安裝sdl plugin for c4droid)和qt(nokia官方開發庫,需安裝sdl plugin for c4droid)。也可以開發native android app(需安裝sdl plugin for c4droid),就像google ndk一樣。軟件支持代碼高亮,編譯時間隨cpu主頻而定,主頻越高編譯越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android native,qt和命令行測試程序源碼。
Arthas 是Alibaba開源的Java診斷工具。當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決:
這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception?
我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了?
遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎?
線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現!
是否有一個全局視角來查看系統的運行狀況?
有什么辦法可以監控到JVM的實時運行狀態?
怎么快速定位應用的熱點,生成火焰圖?
Arthas支持jdk6+,多種系統版本,采用命令行交互模式,同時提供豐富的tab自動補全功能,進一步方便我們進行問題的定位和診斷
1.2、快速安裝
1.2.1、Linux下按
下載arthas-boot.jar,在使用java -jar方式啟動即可。
命令
**注意:**在進行第二條命令之前,先運行一個Java程序在內存之中,否則會報錯
2、快速入門
2.1、attach一個進程
目標:
1、執行一個jar包
2、通過arthas來attach來追蹤
3、進行常用的命令操作
如果端口號被占用,也可以通過命令換成另一個端口號執行。
總結:
1、啟動進程
2、啟動arthas-boot.jar,進入啟動的進程
3、不但可以通過命令行的方式來操作arthas也可以通過瀏覽器來訪問arthas
2.2、常用命令接觸
1、dashboard儀表板
2、通過thread命令來獲取到arthas-demo進程的Main Class
3、通過jad來反編譯Main Clas
4、wathch具體方法
2.2.1.、dashboard儀表板
在這里插入圖片描述
2.2.2、通過thread命令來獲取到arthas-demo進程的Main Class
在這里插入圖片描述
2.2.3、通過jad反編譯Main Class
在這里插入圖片描述
2.2.4、watch監視
demo.MathGame primeFactors:
demo.MathGame:包名+類名
primeFactors:方法名
returnObj:返回參數的表達式
2.2.5、退出arthas
如果只是退出當前的連接,可以用quit或者exit命令。Attach到目標進程上的arthas還會繼續運行,端口會保持開放,下次連接時可以直接連接上。
如果想完全退出arthas,可以執行stop命令
在這里插入圖片描述
2.3、基礎命令1
1、help:查看所有幫助信息
2、cat:顯示文本文件內容
3、grep:匹配查找,和linux中的grep類似,但只能用于管道命令
在這里插入圖片描述
4、pwd:顯示當先目錄的目錄地址
5、cls:清屏
2.4、基礎命令2
1、session:查看當前會話信息
在這里插入圖片描述
2、reset:重置增強類,將被arthas增強過的類全部還原,arthas服務端關閉時會重置所有增強過的類
在這里插入圖片描述
在這里插入圖片描述
3、version:輸出當前目標Java進程所加載 的Arthas版本號
4、quit:退出當前Arthas客戶端,其他Arthas客戶端不受影響。
5、stop:關閉Arthas服務端,所有Arthas客戶端全部退出。
6、keymap:Arthas快捷鍵列表及自定義快捷鍵
7、history:和linux系統作用一樣 打印命令歷史
3、JVM相關命令
1、dashboard
在這里插入圖片描述
2、thread 線程相關:查看當前jvm的線程堆棧的信息
在這里插入圖片描述
3、jvm 虛擬機相關
4、sysprop 系統屬性相關
5、sysenv:查看當前jvm的環境屬性
在這里插入圖片描述
6、vmoption:查看、更新vm診斷相關的參數
7、getstatic:方便的查看類的靜態屬性
語法:getstatic 類名 屬性名
8、ognl
在這里插入圖片描述
3.1、反編譯 jad
比如編譯string類
–source-only : 只顯示源碼
只反編譯指定的方法
xx 就是方法名
3.2、內存編譯mc
內存編譯器,編譯.java文件生成.class
在這里插入圖片描述
在這里插入圖片描述
4、Arthas進階
4.1、目標
類與類加載器
monitor、watch、trace、stack等核心命令的使用
火焰圖的生存
arthas實戰案例
4.2、dump
將已加載的字節碼文件保存到特定的目錄下,logs/arthas/classdump/
在這里插入圖片描述
舉例:
在這里插入圖片描述
4.3、classloader
獲取類加載器的信息
作用:
將jvm中所有的classloader的信息統計出來,并可以展示繼承樹,urls等。
讓指定的classloader去getResources,打印出所有查找到的resources的url。
在這里插入圖片描述
4.4、monitor
監控指定類中方法的執行情況
作用:
在這里插入圖片描述
在這里插入圖片描述
4.5、watch(重要)
觀察到指定方法的調用情況
作用:
方法執行數據觀測,方便觀測到指定方法的調用情況
能觀察到的范圍:返回值、拋出異常、入參。通過編寫OGNL表達式進行對應變量的查看
在這里插入圖片描述
在這里插入圖片描述
只查看第一個參數小于0的情況
在這里插入圖片描述
文章知識點與官方知識檔案匹配
Java技能樹首頁概覽
89145 人正在系統學習中
打開CSDN,閱讀體驗更佳
java應用線上診斷神器--Arthas_linyb極客之路的博客
c、保存好/tmp/UserServiceImpl.java之后,使用mc(Memory Compiler)命令來編譯,并且通過–classLoaderClass參數指定ClassLoader mc--classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader/tmp/UserServiceImpl.java-d/tmp ...
繼續訪問
java線上診斷工具,Java線上診斷神器Arthas-1_Skogkatt的博客-CSDN...
Arthas 是Alibaba 開源的一款線上診斷工具,相比Java 自帶的jinfo, jmap,jstat 等工具更方便(起碼不用記那么多參數),而且利用字節碼增強技術,可以很好的對線上的問題進行定位以及解決,不用再為生產或者測試環境無法debug而感到無能為力。...
繼續訪問
最新發布 Arthas常用命令
arthas指令大全
繼續訪問
Arthas在線java進程診斷工具 在線調試神器
Arthas在線java進程診斷工具 在線調試神器 tag: java 診斷 堆棧 在線調試 耗時 死鎖 arthas 阿里巴巴 Arthas 是 Alibaba 開源的Java診斷工具,深受開發者喜愛。 官網文檔: 當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決: 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception? 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了? 遇到問題無法在.
繼續訪問
Java在線診斷利器之Arthas_Java老K的博客
Arthas是阿里在2019年9月份開源的一款java在線診斷工具,能夠分析、診斷、定位java應用問題,例如:jvm信息、線程信息、搜索類中的方法、 跟蹤代碼執行、觀測方法的入參和返回參數等等。 Arthas最大的特點是能在不修改代碼和不需要重新發布的...
繼續訪問
java線上診斷神器 --Arthas__小魚塘的博客_java網絡診斷
java線上診斷神器 --Arthas 最近在工作中用到的一個非常很好的線上診斷,分析問題的神器,再次記錄一下: 官方文檔:簡介 | arthas GitHub 地址:GitHub - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java診斷利器Arthas...
繼續訪問
Arthas使用教程(8大分類)
1、基礎命令。2、JVM相關。3、類與類加載器。4、option全局選項。5、項目中使用案例。
繼續訪問
Arthas介紹
這篇文章為大家推薦一個為Java應用程序排查問題的非常好用的工具:Arthas,首先聲明一下,這邊文章并不是教大家如何使用,它只是一個搬運工,在Arthas的github上已經有非常詳細的使用教程了。 Arthas(阿爾薩斯)是阿里巴巴開源的Java診斷工具,深受開發者喜愛 當你遇到以下類似問題而束手無策時,Arthas統統可以幫你解決 某個類是從哪個jar包加載的,為什么會報各種類相關的Exc...
繼續訪問
Arthas - Java線上診斷工具_是良辰的博客
java -jar arthas-boot.jar 啟動之后就可以看到一個java程序列表,像我這就是只有一個java程序在跑,就是當前根目錄下面的app.jar 選擇1,即可對app.jar進行監控診斷。 PS:如果是虛擬機,直接在應用服務器上面執行上面的命令,如果是docke...
繼續訪問
java線上診斷工具Arthas-實戰案例_小姐姐修燈泡嗎的博客
首先我就來簡單介紹下他的作用:(粘貼官網)Arthas 是Alibaba開源的Java診斷工具,深受開發者喜愛。在線排查問題,無需重啟;動態跟蹤Java代碼;實時監控JVM狀態。 Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同時提供豐富的...
繼續訪問
arthas 使用教程
arthas安裝使用 首先是安裝,說白了其實把他當成一個工具來用就行了,你什么服務需要在線進行性能情況的一個監測和性能的瓶頸排查。第三步啟動arthas-boot.jar,啟動的時候要注意你需要監測的java是啟動的可以用jps-l命令查看你的java服務。第二步把jar包上傳到你需要進行java性能監測的服務器上。線上正式環境把他當成一個排查慢問題的工具還是很好用的。以上就是啟動服務了下面開始介紹常用的一些排查命令。...
繼續訪問
Arthas
Arthas.md 當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決: 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception? 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了? 遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎? 線上遇到某個用戶的數據處理有問題,...
繼續訪問
Java線上問題診斷工具Arthas_星光Starsray的博客
java -jar arthas-boot.jar //啟動 當看到控制臺出現arthas的標志,表明啟動成功!注意此時已經進入控制臺,主要是arthas的命令使用。 [root@xxptweb01 arthas]# java -jar arthas-boot.jar
繼續訪問
【Java】性能問題診斷利器Arthas --常用命令示例_嘆了口丶氣的博客-C...
Arthas 是一款阿里開源的 Java 線上診斷工具,功能強大,可以在不修改代碼或者重啟服務的情況下快速定位線上問題。 官方文檔:Arthas官網 二、安裝 從官網下載 Arthas 全量包安裝(因為快速安裝可能因網絡原因下載失敗),然后用 java -jar 方...
繼續訪問
Java診斷工具Arthas使用說明
Arthas 是Alibaba開源的Java診斷工具,Arthas支持JDK 6+,支持Linux/Mac/Windows,支持命令行交互模式、 Tab 自動補全功能,方便進行問題的定位和診斷。
繼續訪問
JVM性能調優篇07-阿里巴巴Arthas工具詳解
阿里巴巴Arthas工具詳解
繼續訪問
Arthas 是Alibaba開源的Java診斷工具
Arthas是Alibaba開源的Java診斷工具,深受開發者喜愛。 當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決: 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception? 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了? 遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎? 線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現! 是否有一個全局視角來查看系統的運行...
繼續訪問
JVM之GC 調優工具 Arthas 實戰使用(二)
Arthas 是 Alibaba 開源的 Java 診斷工具,深受開發者喜愛。Arthas 支持 JDK 6以上版本,支持 Linux/Mac/Windows,而且這些環境的命令都一樣,采用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進行問題的定位和診斷 官方文檔參考 一、下載和安裝 不需要安裝,就是一個 jar 包 curl -O
繼續訪問
Arthas詳解
文章目錄概述安裝快速安裝使用`arthas-boot`(官網推薦)使用`as.sh`全量安裝把Arthas安裝到基礎鏡像里卸載使用命令詳解基礎命令helpcatechogrepbase64teepwdclsversionhistorykeymap后臺異步命令相關快捷鍵會話相關quitstopsessionresetjvm相關dashboardthreadjvmsyspropsysenvvmoptionperfcounterloggergetstaticognlmbeanheapdumpvmtoolclass
繼續訪問
Arthas基礎
Arthas:快速入門
繼續訪問
Arthas入門到精通
Arthas是Alibaba開源的一款Java診斷工具,方便開發者在線排查問題,無需重啟,同時可以跟蹤Java代碼,實時監控JVM狀態,目前Arthas僅支持JDK6+,支持Linux/Mac/Windows,采用命令行交互模式,具有 Tab 自動補全功能,便于開發者進行快速定位和診斷問題。 離線全量下載(如果服務器沒有外網可以采用這種情況)
繼續訪問
阿里Java診斷工具 arthas - 介紹及指令大全
一、arthas Arthas` 是Alibaba開源的Java診斷工具,深受開發者喜愛。 當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決: 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception? 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了? 遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎? 線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現! 是否有一個全局視角來查看系統的運行狀況? 有什么辦法可以監控到
繼續訪問
java診斷神器 arthas(阿爾薩斯)
java診斷神器 arthas(阿爾薩斯) 官網地址: 1、快速開始 1.1、windows版本安裝 # 命令行輸入 curl -0 --output arthas-boot.jar # 啟動arthas 注意:啟動前已經要有java進程運行,否則無法進入 java -jar arthas-boot.jar --telnet-por
繼續訪問
幫助定位Java方法優化之arthas端口被占用解決的辦法
另起一個端口號 啟動arthas命令的后面加上端口號的相關參數 java -jar arthas-boot.jar --telnet-port 端口號 --http-port -1 關閉占用端口的服務 先進入占用端口的服務,然后輸入stop將它停掉就可以了 注:請再每一次使用之后使用stop命令退出,這樣也省掉一些不必要的麻煩!!! ...
繼續訪問
Java 診斷工具之 Arthas
Arthas 是 Alibaba 開源的 Java 診斷工具。Ta 可以動態跟蹤 Java 代碼,實時監控 JVM 狀態,可以在不中斷程序執行的情況下輕松完成 JVM 相關問題排查工作。支持 JDK 6+,支持 Linux/Mac/Windows。
繼續訪問
Arthas-java在線調試工具的使用
一、arthas能干什么? 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception? 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了? 遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎? 線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現! 是否有一個全局視角來查看系統的運行狀況? 有什么辦法可以監控到JVM的實時運行狀態? 怎么快速定位應用的熱點,生成火焰圖? 怎樣直接從JVM內查找某個類的實例? Arthas支持JDK 6+
繼續訪問
Java線上診斷工具Arthas
概述 Arthas是一個開源的線上診斷工具,可以實時查看線上代碼運行情況,詳情參考Arthas 命令列表 jad命令(獲取已加載類的源碼) //主要用來看已經加載了類的源碼,一般用于動態加載的class的源碼比較方便 [arthas@773]$ jad com/example/jvm/Hello ClassLoader: +-sun.misc.Launcher$AppClassLoader@18b4aac2 +-sun.misc.Launcher$ExtClassLoader@362d9..
繼續訪問
java 線上診斷命令
java
學習
分享名稱:查看JAVA代碼的app java代碼怎么看懂
文章起源:http://www.2m8n56k.cn/article18/ddgoddp.html
成都網站建設公司_創新互聯,為您提供網站收錄、網站營銷、域名注冊、、外貿網站建設、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯