搜尋此網誌

2010年12月20日

Android 應用程式簽章/簽名 - Android signed application

目的:
  1. 開發一些應用程式,可能需要系統權限的操作,就需要加簽特定平台的憑證。(成功)
  2. 發布到 Market 也需要套用一樣的概念,但是流程更複雜,Android developer 有一篇寫個很完整。
  3. 只有第一個項目同事有實作且確定成功。發布到 Market 目前無需求,暫時沒有測試。
  4. 修改他人的 .apk,包含將程式中文化,也需要重新打包程式。


產生 APK 的流程: (參考http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-cruisecontrol/)



流程:

  1. Get or generate specific certification -> Export unsigned application -> Sign it -> Get signed APK
  2. 為取得 system uid(1000) 的執行權限,不能用 Eclipse 預設的 debug key。必須取得 platform key or personal key 的方式,重新 sign application。
  3. 目前有兩種路徑,分別是要不要用 Source code compile。如果只開發上層 application,那指令搭配 Eclipse 就可以了。如果有 Source code compile 環境,那方法會有些不同,請參考 http://hi.baidu.com/lonelinsky/blog/item/c3b88ad58d98770ca08bb73b.html


工具:
  • signapk.jar (成功)
  • jarsigner
  • Auto-sign
  • keytool 
  • apktool
  • Eclipse (成功)
  • Ant
  • dexdump
參考網址:
  1. http://merckhung.blogspot.com/2009/08/sign-android-apk-with-platform-key-to.html
  2. http://www.umnet.com/download-software/13241-SignApk___Sign_APKs
  3. http://hi.baidu.com/lonelinsky/blog/item/c3b88ad58d98770ca08bb73b.html
  4. http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-cruisecontrol/
  5. http://bbs.gfan.com/thread-156-1-1.html => (auto-sign apk)
  6. http://www.londatiga.net/it/how-to-sign-apk-zip-files/ => SignApk.jar
  7. http://developer.android.com/guide/publishing/app-signing.html
  8. http://bees4honey.com/blog/tutorial/how-to-prepare-android-application-for-market/ (Send ap to android market)
測試狀況:

  1. 自己寫一個 application,使用 platform key sign 之 => 成功!
  2. 反組譯 APK,中文化或修改內容,重新 sign 之 => 尚未測試!
  3. 依照 Android developer 的文章,自己建一個 certification和 Keystore,然後 sign application => 尚未測試!
  4. 發布 application 到 Android market => 尚未測試!


搜尋關鍵字:
  • auto-sign
  • signed application
  • sign android application
  • sign apk
  • signing android application
  • Android程式簽章
延伸閱讀:
  1. Android .apk deassembly (反組譯)
  2. Android 使用 system uid(1000)
  3. 發布程式到 Android market
  4. 編譯 APK (Android application)
  5. Android 模擬按鍵

沒有留言:

張貼留言