android 打包和簽名 大致流程

來源:互聯網
上載者:User

標籤:android   簽名   打包   


首先是解包  
注意 這裡必須將cmd 的當前位置改到apktool 目錄下, 不然就會報錯說找不到 aapt.exe  , 當然也可以加入到系統path中


apktool d .apk folder 

 這步之後就是修改smali 代碼或者是.so檔案了
 改好之後使用


apktool b folder   

 然後folder 檔案裡就會出現一個apk  
之後就是簽名問題了
簽名有3條路走, 一條是使用jdk , 一條是使用android的signapk ,還有就是整合工具


1  建立key,需要用到keytool.exe (位於jdk1.6.0_24\jre\bin目錄下),使用產生的key對apk簽名用到的是jarsigner.exe (位於jdk1.6.0_24\bin目錄下),把上兩個軟體所在的目錄添加到環境變數path後,開啟cmd輸入


D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore/*說明:-genkey 產生密鑰       -alias demo.keystore 別名 demo.keystore       -keyalg RSA 使用RSA演算法對簽名加密       -validity 40000 有效期間限4000天       -keystore demo.keystore */D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore/*說明:-verbose 輸出簽名的詳細資料       -keystore  demo.keystore 密鑰庫位置       -signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個參數中依次為簽名後產生的檔案demo_signed,要簽名的檔案demo.apk和密鑰庫demo.keystore.*/

  注意事項:android工程的bin目錄下的demo.apk預設是已經使用debug使用者簽名的,所以不能使用上述步驟對此檔案再次簽名。正確步驟應該是:在工程點擊右鍵->Anroid Tools-Export Unsigned Application Package匯出的apk採用上述步驟簽名。

引用  http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html

另外自己在操作過程中遇到一個問題,還有解決方案 :

      keytool 錯誤: java.io.FileNotFoundException: android.keystore (拒絕訪問。)

主要原因是JDK安裝在C盤,沒有寫入權限,所以報錯

可以更改目錄解決 改為如下

C:\Program Files\Java\jdk1.7.0_65\bin>keytool -genkey -alias andro
eyalg RSA -validity 30000 -keystore D:/keyStore/android.keystore

放在D盤,完美解決


2  android 源碼內建的signapk工具  需要用到認證

    1.進入<Android_Source_Path>/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系統密鑰。

    2.進入<Android_Source_Path>/build/tools/signapk找到SignApk.java,運行javac編譯成SignApk.class

    3.執行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk


來源: <http://www.jb51.net/article/50847.htm>  

3就是使用自動簽名工具了, 比如androidresedit , 原理其實就是上述的第二條,只是自動化了一下。 當然簽名目錄中認證什麼是可以換的  


最終這3中方法都是可以產生簽過名的apk的 ,當然 大牛看看就行,不要吐槽我們這些菜逼。。。

END 


 

android 打包和簽名 大致流程

聯繫我們

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