日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > ProGuard工具使用

ProGuard工具使用

來源:程序員人生   發(fā)布時(shí)間:2014-12-18 08:19:59 閱讀次數(shù):2895次

ProGuard工具通過移除未使用代碼和使用語義模糊的名字重命名類、成員變量及方法, 從而實(shí)現(xiàn)減小、優(yōu)化和混淆利用程序代碼.

使用ProGuard工具后, 會(huì)得到1個(gè)更小的.apk文件, 并且使得逆向工程更加困難. 由于ProGuard使得利用程序的逆向工程更加困難,

所以當(dāng)利用程序用到了對安全很敏感的特性時(shí), 就有必要使用ProGuard工具了.

 

ProGuard工具集成在Android的編譯系統(tǒng)中, 所以不需要人工調(diào)用它. 只有當(dāng)利用程序以release模式編譯時(shí),ProGuard工具才會(huì)

運(yùn)行,所以當(dāng)利用以debug模式編譯時(shí), 不需要處理被混淆的代碼. ProGuard工具是完全可選的, 但是強(qiáng)烈建議使用它.

 

使能ProGuard

當(dāng)創(chuàng)建1個(gè)Android項(xiàng)目時(shí), 會(huì)在項(xiàng)目的根目錄自動(dòng)生成1個(gè)proguard.cfg文件. 這個(gè)文件定義了ProGuard該怎樣優(yōu)化和混淆項(xiàng)目

代碼,所以根據(jù)自己的需求定制化這個(gè)文件是非常重要的. 默許的配置文件僅僅包括了1般的情況, 所以極有可能你需要根據(jù)自己的

需求修改它.為了使能ProGuard工具從而使它作為Ant或Eclipse編譯的1部份, 設(shè)置<project_root>/project.properties文件中的

proguard.config屬性值,屬性值是1個(gè)路徑, 這個(gè)路徑可以是1個(gè)絕對路徑或是或是工程根目錄的1個(gè)相對路徑.

 

當(dāng)以release模式編譯利用程序時(shí)(通過運(yùn)行ant release或Eclipse的導(dǎo)出工具), 編譯系統(tǒng)自動(dòng)檢查proguard.config屬性是不是已設(shè)置.

如果設(shè)置了, ProGuard在把相干資源打包到apk文件之前就會(huì)自動(dòng)處理利用的字節(jié)碼. 以debug模式編譯不會(huì)調(diào)起ProGuard, 由于這將

使得調(diào)試更加艱巨.

 

ProGuard在運(yùn)行以后會(huì)輸出以下幾個(gè)文件

dump.txt

    描寫了apk文件中所有class文件的內(nèi)部結(jié)構(gòu)

mapping.txt

    列出了原始的類、方法、字段名和混淆后的映照關(guān)系. 這個(gè)文件對發(fā)布版本的bug報(bào)告非常重要. 可以根據(jù)它把混淆后的調(diào)用棧

    還原回原始的類、方法和字段名

seeds.txt

    列出了所有無被混淆的類和成員.

usage.txt

    列出了從apk中移除的代碼.

 

注意:每次進(jìn)行release模式的編譯, 這些文件都會(huì)被ProGuard生成的最新的文件覆蓋, 所以每次發(fā)布release模式的利用都需要保存

1份這幾個(gè)文件.

 

配置ProGuard

對1些情況, proguard.cfg中的默許配置就可以夠滿足需求. 但是, 更多的情況是ProGuard很難準(zhǔn)確地分析, 它可能移除1些它認(rèn)為

用不到的代碼, 但實(shí)際上利用程序?qū)嶋H是需要的. 1些例子:

1. 1個(gè)只在AndroidManifest.xml中援用的類

2. JNI調(diào)用的方法

3. 動(dòng)態(tài)援用的變量和方法.

 

proguard.cfg文件盡力覆蓋1般的情況, 但是依然有可能碰到ClassNotFoundException,當(dāng)利用調(diào)用了1個(gè)已被ProGuard移除的類.

可以通過在proguard.cfg文件中加入-keep來修復(fù)這類毛病. 例如

-keep public class <MyClass>

 

當(dāng)使用-keep選項(xiàng)時(shí)有許多選項(xiàng), 所有強(qiáng)烈建議瀏覽ProGuard Manual了解更多關(guān)于定制配置文件的信息

 

還原混淆后的堆棧信息

retrace.bat|retrace.sh [-verbose]mapping.txt [<stacktrace_file>]

 

retrace.bat|retrace.sh 腳本在<sdk_root>/tools/proguard/目錄下


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品久久久久久一区二区 | 亚洲欧美一区二区三区 | 日本在线精品视频 | 欧美少妇一区二区 | 99久热 | 久久6热视频 | 久久性生活免费视频 | 91超碰在线免费观看 | 国产亚洲精品久久久久动 | 逼网 | 欧美日韩精品一区 | 国产精品久久久久久久久久新婚 | 视频二区日韩 | 日韩中文字幕一区二区 | 亚州国产 | 欧美日韩精品一区 | 国产精品网站入口 | 最近中文字幕国语免费高清6 | 欧美二区三区四区 | 亚洲另类视频在线 | 视频一区二区三区中文字幕 | 欧美 日韩 中文 | 国产一区二区三区久久 | 免费av在线播放 | 国产一级免费 | 日韩精品一区二区三区中文在线 | 一区在线视频 | 日韩精品视频免费在线观看 | 色偷偷网站视频 | 欧美jizz18 | 国内精品国产成人国产三级粉色 | 亚洲国产91 | 嫩草精品 | 天堂影视| 国产精品1区2区3区 69视频成人 | 亚洲在线一区 | 日本黄xxxxxxxxx100 | 自拍偷拍亚洲精品 | 国产精品无码永久免费888 | 国产精品久久久亚洲 | 狠狠色综合网 |