Android混淆代碼工具ProGuard
Android從2.3的SDK開始,將ProGuard混淆代碼的功能加入了進來。
我們可以從android sdk的tools目錄下看到有一個proguard目錄。說明具有了代碼混淆的功能。

至于如何進行代碼的混淆。我們需要做的很簡單:
1、在用eclipse生成的android工程中都有一個project.properties文件,我們需要在該文件中增加下面一行代碼:
1 |
proguard.config=proguard.cfg |
</tr>
</tbody>
</table>
</div>
</div>
</div>
如圖所示: 
2、寫混淆腳本proguard.cfg
我測試用的混淆腳本非常簡單,只加了優化功能。如圖所示:

對于proguard.cfg腳本的詳細介紹參見:http://blog.csdn.net/laoyao_moyan/article/details/7353768
我們可以看到混淆android代碼非常容易,但是需要注意的是:在eclipse下通過Run執行來生成的bin目錄下的apk文件并沒有被混淆,只有通過加入證書發布的apk才會混淆。
下面,我們來看看如何打包簽名apk。
1、生成keystore;
在生成簽名apk前,我們需要keystore,這個keystore可以用jdk下的keytool工具生成。
在cmd下,用命令行生成keystore如圖所示:

按照上圖中的命令,輸入需要輸入的內容。
其中,-alias android.keystore是生成的keystore別名;
-keyalg RSA是加密和數字簽名的算法;
-validity 20000是有效天數
最后,會在jdk的bin目錄下生成android.keystore文件。(這是因為keytool命令在jdk的bin目錄下,當然,這個可以通過環境變量來設置)。
2、用keystore生成簽名apk。
我們有了keystore,就可以生成簽名apk了。
Eclipse中,右鍵需要簽名的工程->Android tools->export signed application package...
這時會出現以下對話框:

點擊下一步:

鍵入密碼,點擊Next:

鍵入密碼,再次點擊Next:

最后,點擊Finish即可。
這時會在jdk的bin目錄下生成帶簽名的apk。
下面是將我在github上的androidexample工程混淆了,效果如下:

來自:http://my.oschina.net/u/661133/blog/82553
本文由用戶
jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
sesese色