android程式碼簽署和混淆打包

來源:互聯網
上載者:User

研究了一下android的apk的簽名和代碼的混淆打包,如果不混淆打包,那麼apk可以直接被人反編譯出來查看源碼,混淆打包雖然還是能看懂,但是沒有那麼好懂了,至少要話費些時間

如果不混淆,反編譯後的代碼如下:

基本上就是源碼。

如果混淆後,反編譯後的代碼如下:<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140630/2014063013052323.jpg" alt="\">

代碼中出現很多的a、b、c之類的變數命名,所以要讀懂就具有一定的困難了!


下面先說一下apk的簽名:

1.apk簽名必須先弄一個key,如何產生key呢?那麼就要運用jdk來產生。

首先必須把jdk在系統內容變數中配置好。這個就不多說了,這是使用java就必須配置好的。

2.產生keystore


運行cmd,然後使用cd 進入 C:\Program Files\Java\jdk1.6.0_10\bin>(也就是你C盤的安裝jdk的位置)目錄下,然後輸入keytool -genkey -aliasandroid.keystore -keyalg RSA -validity 50000 -keystoreandroid.keystore


參數意義:-validity主要是認證的有效期間,寫50000天。


紅色的android字樣可以隨便改成自己的命名。

命令執行後會在C:\Program Files\Java\jdk1.6.0_10\bin>目錄下產生 android.keystore檔案。如:





弄到apk後就可以打包了,並且帶上自己的簽名。

在打包前我們需要加點東西來混淆代碼,是我們打包後再反編譯後無法正常查看代碼。

混淆代碼其實灰常簡單,在需要打包的項目下找到 project.properties這個檔案,開啟然後在最下面加上一句話就ok了,如:

低版本的adt不是這樣寫的,高版本就這樣寫就ok了,如果是低版本的話是寫成 proguard.config=proguard.cfg。不過現在一般都用不上了,都是搞版本的,在高版本中這樣寫就會在打包的最後步驟上報錯:報錯的大概內容是:

invalid proguard configuration file path c:.../proguard.cfg dose not exist or is not regular file


加完後就可以簽名打包apk了。

在Eclipse介面點擊 File-》Export...











然後就可以了!成功到處帶簽名的混淆代碼的apk。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.