1、設(shè)置minifyEnabled true,就會(huì)在打包的時(shí)候進(jìn)行代碼混淆處理. 其中proguard-android.txt不用管,在sdk目錄里面,主要是配置了proguard.cfg文件。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比奉化網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式奉化網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋奉化地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
2、兩種方式,一種開發(fā)工具eclipse,還有就是用apktool工具。 I、只要Run As Android Application 過,到工作目錄的bin文件夾下就能找到與項(xiàng)目同名的apk文件。
3、運(yùn)行apktool.bat d xxx.apk,把a(bǔ)pk反編譯成smali 如果想要進(jìn)一步查看源碼,可下載smali2java 使用smali文件的文件名進(jìn)行分析,如果存在1個(gè)或1個(gè)以上的資源類的smali文件,就可以證明該apk沒有被混淆過。
4、對代碼進(jìn)行優(yōu)化(使用adt插件導(dǎo)出的apk,還進(jìn)行zipalign優(yōu)化)缺省情況下,proguard會(huì)混淆所有代碼,但是下面幾種情況是不能改變java元素的名稱,否則就會(huì)導(dǎo)致程序出錯(cuò)。
1、特定類的public函數(shù)不做實(shí)際的事情,只做簡單處理后調(diào)用private函數(shù)。proguard對會(huì)對一些特定類的public函數(shù)不做混淆,以便被AndroidManifest.xml和各種layout引用。
2、代碼混淆有兩種重要功能。其一,混淆代碼。其二,優(yōu)化代碼。進(jìn)行代碼混淆的程序被稱為代碼混淆器(混淆工具)。進(jìn)行代碼混淆的意義主要在于對代碼進(jìn)行一定程度的加密。
3、第一個(gè)文件是描述文件,第二個(gè)文件是配置文件。如果要實(shí)現(xiàn)代碼混淆,需要修改第二個(gè)文件。打開第二個(gè)文件,如下:其中紅線部分說,如果你要實(shí)現(xiàn)代碼混淆,你需要把下面一行給反注釋掉。
代碼混淆有兩種重要功能。其一,混淆代碼。其二,優(yōu)化代碼。進(jìn)行代碼混淆的程序被稱為代碼混淆器(混淆工具)。進(jìn)行代碼混淆的意義主要在于對代碼進(jìn)行一定程度的加密。
代碼混淆(Obfuscated code)亦稱花指令,是將計(jì)算機(jī)程序的代碼,轉(zhuǎn)換成一種功能上等價(jià),但是難于閱讀和理解的形式的行為。代碼混淆可以用于程序源代碼,也可以用于程序編譯而成的中間代碼。執(zhí)行代碼混淆的程序被稱作代碼混淆器。
代碼混淆(code obfuscation)是指將計(jì)算機(jī)程序的代碼,轉(zhuǎn)換成一種功能上等價(jià),所謂功能上的等價(jià)是指其在變換前后功能相同或相近。