一個(gè)APP的源代碼(一個(gè)app的源代碼在哪里)
本篇文章給大家談?wù)勔粋€(gè)APP的源代碼,以及一個(gè)app的源代碼在哪里對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
怎樣查看 Android APP源代碼?
將apk文件拷貝至sdcard上。
命令順序如下:
進(jìn)入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時(shí)就可以看到你安裝的所有的apk文件。輸入cp 空格 對(duì)應(yīng)的apk 空格 /sdcard/
這樣就將apk文件拷貝出來(lái)了。
將apk文件后綴直接變成rar格式,可以看到熟悉的目錄結(jié)構(gòu)了,
其中xml文件打開(kāi)后都是二進(jìn)制的,無(wú)法查看。
這時(shí)就用到了一個(gè)android4me的AXMLPrinter2工具。(請(qǐng)自行百度搜索)
輸入以下命令,將xml文件解析出來(lái)
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml h.xml
目前進(jìn)行到這一步,只能看到xml文件的內(nèi)容,其工程中的java源文件還是看不到,看目錄結(jié)構(gòu)下有一個(gè)classes.dex文件,我們需要將dex文件變?yōu)閖ar文件。
這里用到了另一個(gè)工具dex2jar。(自行搜索下載)
在Windows下解壓之后的目錄如下圖所示:
在命令行中,進(jìn)入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:\classes.dex
運(yùn)行完之后,在C盤(pán)會(huì)多一個(gè)classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請(qǐng)自行搜索下載)
它分為Windows、Linux、和max三個(gè)版本,這里我下載的是Windows版本的。
解壓之后,雙擊運(yùn)行exe文件,選擇classes.dex.dex2jar.jar文件,相應(yīng)的jar文件中的Java文件就被反向工程顯示出來(lái)了!
Android是一種基于Linux的自由及開(kāi)放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。尚未有統(tǒng)一中文名稱(chēng),中國(guó)大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開(kāi)發(fā),主要支持手機(jī)。2005年8月由Google收購(gòu)注資。2007年11月,Google與84家硬件制造商、軟件開(kāi)發(fā)商及電信營(yíng)運(yùn)商組建開(kāi)放手機(jī)聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開(kāi)源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機(jī)發(fā)布于2008年10月。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,Android在全球的市場(chǎng)份額首次超過(guò)塞班系統(tǒng),躍居全球第一。 2013年的第四季度,Android平臺(tái)手機(jī)的全球市場(chǎng)份額已經(jīng)達(dá)到78.1%。?[1]??2013年09月24日谷歌開(kāi)發(fā)的操作系統(tǒng)Android在迎來(lái)了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺(tái)。
Android一詞最早出現(xiàn)于法國(guó)作家利爾亞當(dāng)(Auguste Villiers de l'Isle-Adam)在1886年發(fā)表的科幻小說(shuō)《未來(lái)夏娃》(L'ève future)中。他將外表像人的機(jī)器起名為Android。
Android的Logo是由Ascender公司設(shè)計(jì)的,誕生于2010年,其設(shè)計(jì)靈感源于男女廁所門(mén)上的圖形符號(hào), [1]? 于是布洛克繪制了一個(gè)簡(jiǎn)單的機(jī)器人,它的軀干就像錫罐的形狀,頭上還有兩根天線,Android小機(jī)器人便誕生了。其中的文字使用了Ascender公司專(zhuān)門(mén)制作的稱(chēng)之為“Droid ” 的字體。Android是一個(gè)全身綠色的機(jī)器人,綠色也是Android的標(biāo)志。顏色采用了PMS 376C和RGB中十六進(jìn)制的#A4C639來(lái)繪制,這是Android操作系統(tǒng)的品牌象徵。有時(shí)候,它們還會(huì)使用純文字的Logo。
怎樣查看 Android APP 源代碼
需要把反編譯的apk存放到apktools同級(jí)文件夾目錄下,然后運(yùn)行要查看的安裝包,具體操作如下:
1、首先把反編譯的apk存放到apktools同級(jí)文件夾目錄下,如下圖所示。
2、按住shift+鼠標(biāo)右鍵打開(kāi)命令窗口,運(yùn)行代碼 apktool d yd.apk(安裝包的名字)。
3、apk后綴名改成zip,解壓雙擊打開(kāi)xml格式文件如下圖所示。
4、打開(kāi)cmd命令窗口,如下圖所示依次輸入命令。
5、將classes.dex打包成jar包 需要用到dex2ja。
6、然后就可以查看需要的源代碼,如下圖所示。
怎樣提取一個(gè)軟件的源代碼
1、一款知名的開(kāi)源軟件,大部分都有自己的官方網(wǎng)站,我們可以從它的官方網(wǎng)站上去下載。
比如,下載linux內(nèi)核源碼,我們可以搜索一下官網(wǎng),然后去下載。
2、除去官網(wǎng)找代碼的方法,我們可以直接使用命令行方式下載發(fā)行版的代碼。
先查看一個(gè)軟件工具屬于哪一個(gè)包,比如,我要下載linux下最常用的一個(gè)命令的源碼,‘ls’命令。
先查看'ls'命令屬于哪一個(gè)包。使用命令:#dpkg-S'ls'。
3、通過(guò)上面我們看到屬于‘coreutils’這個(gè)包。然后下載源代碼。
使用命令:#apt-get-dsource"coreutils"
這里,我們出現(xiàn)了一個(gè)錯(cuò)誤,沒(méi)有指定源碼的URI。
4、我們?cè)谙到y(tǒng)設(shè)置中的“軟件和更新”這一項(xiàng),選中源代碼。然后就會(huì)更新系統(tǒng)源。
5、再次執(zhí)行第三步驟,下載源碼。將下載下來(lái)的壓縮包解壓開(kāi),就能找到‘ls'命令的源碼了。
怎樣查看一個(gè)軟件的源代碼?
對(duì)于現(xiàn)在的軟件來(lái)說(shuō),源代碼是最基礎(chǔ)的部分,得到了源代碼也就幾乎得到了軟件的全部。源代碼對(duì)于商業(yè)性質(zhì)的軟件來(lái)說(shuō)是極其重要的,一旦泄露就會(huì)造成非常大的損失,所以源代碼是一個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)的最高機(jī)密。
正因如此,很多人出于不同目的,會(huì)想辦法得到軟件的源代碼,但是我們知道,軟件的最終產(chǎn)品一般是已經(jīng)編譯過(guò)的文件,就像我們初學(xué)C語(yǔ)言時(shí)生成的 exe 文件一樣,是一些二進(jìn)制符,不能直接查看源碼。
想要查看一個(gè)軟件的源代碼,首先要確定這個(gè)軟件的開(kāi)發(fā)者是否已經(jīng)將其開(kāi)源,如果開(kāi)源的話就不必大費(fèi)周章地去反編譯了,直接去開(kāi)源社區(qū)里就會(huì)發(fā)現(xiàn)該軟件的源碼,開(kāi)發(fā)者一般也會(huì)提供源碼的下載鏈接。
如果軟件不開(kāi)源,那就要進(jìn)行反編譯了,查看大多數(shù)軟件的源碼都需要用到這個(gè)方法,即使反編譯了,看到的源代碼也是非?;靵y的,因?yàn)闉榱吮Wo(hù)源碼,開(kāi)發(fā)者在編譯前都會(huì)進(jìn)行混淆,目的就是即使有人反編譯成功,也無(wú)法看懂代碼里的邏輯,這也是保護(hù)源碼的最后一道防線。
關(guān)于一個(gè)APP的源代碼和一個(gè)app的源代碼在哪里的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。