Android之編譯打包apk時幾個常用的技巧

來源:互聯網
上載者:User

標籤:android   des   style   http   java   使用   

今天和大家分享一下用eclipse打包apk時的三個小技巧:

一.防止被反編譯而擾亂混淆加密:

1. 請開啟project.properties檔案中的這句話(即將這句前面的"#"去掉即可)
    proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

2. 然後可以根據自己的需求對proguard-project.txt檔案做出“例外”的方法或類的規則定義
   比如該項目引入了一個系統的framework的jar包,那麼就需要在這個檔案中添加如下一句話:
   -libraryjars 路徑/framework_intermediates/classes.jar

3. 產生apk時,右鍵項目名字,Android Tools --> Export Signed/Unsigned Application Package  。選擇apk的儲存路徑即可。
   通過Run/Launch等途徑產生的,是無法達到目的的。

這樣產生出來的apk,他人在反編譯時間,看到的就是被擾亂被混淆來達到閱讀困難的目的的代碼。


二.使用zipalign的4位元組對齊最佳化處理,以提高apk的效能:

1.在Android中,當資源檔通過記憶體映射對齊到4位元組邊界時,訪問資源檔的代碼才是有效率的。但是,如果資源本身沒有進行對齊處理(未使用zipalign工具),它就必須回到老路上,顯式地讀取它們——這個過程將會比較緩慢且會花費額外的記憶體。

2.必須在簽名apk檔案後進行,使用以下命令讓其對齊:
    zipalign -v 4 source.apk destination.apk

3.以下的命令用於檢查程式包是否進行了對齊:
    zipalign -c -v 4 application.apk

以後凡是eclipse編譯打包產生的apk,最好經過zipalign的處理。

zipalign 的檔案路徑:
    sdk目錄/tools/zipalign
    idh.code/out/host/linux-x86/bin/zipalign


三.給打包好的apk重新簽名:

1. 改apk簽名命令:
java -jar signapk.jar platform.x509.pem platform.pk8 test.apk test_signed.apk

【注意】
2. signapk.jar位置在原始碼中:
out/host/linux-x86/framework/signapk.jar

3.platform.x509.pem和platform.pk8均在:
build/target/product/security/platform.pk8

4.如果沒有源碼的朋友可以使用我分享在微雲中的工具:http://url.cn/LFvYbU


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.