日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

[转]Android应用签名

發布時間:2025/3/15 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]Android应用签名 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉自:http://www.cnblogs.com/ghj1976/archive/2011/07/18/2109381.html

?

?

為了要簽名?

??? 開發Android的人這么多,完全有可能大家都把類名,包名起成了一個同樣的名字,這時候如何區分?簽名這時候就是起區分作用的。

??? 由于開發商可能通過使用相同的Package Name來混淆替換已經安裝的程序,簽名可以保證相當名字,但是簽名不同的包不被替換。

??? APK如果使用一個key簽名,發布時另一個key簽名的文件將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應用被惡意的第三方覆蓋或替換掉。

??? 這樣簽名其實也是開發者的身份標識。交易中抵賴等事情發生時,簽名可以防止抵賴的發生。

?

簽名的注意事項

  • 所有的Android應用都必須有數字簽名,沒有不存在數字簽名的應用,包括模擬器上運行的。Android系統不會安裝沒有數字證書的應用。
  • 簽名的數字證書不需要權威機構來認證,是開發者自己產生的數字證書,即所謂的自簽名。
  • 模擬器開發環境,開發時通過ADB接口上傳的程序會先自動被簽有Debug權限,然后才傳遞到模擬器。如下圖所示,Eclipse菜單的Window -> Preferences -> Android –> Build 下顯示的是我們默認的調試用的簽名數字證書。

  • 正式發布一個Android應用時,必須使用一個合適的私鑰生成的數字證書來給程序簽名,不能使用ADT插件或者ANT工具生成的調試證書來發布。
  • 數字證書都是有有效期的,Android只是在應用程序安裝的時候才會檢查證書的有效期。如果程序已經安裝在系統中,即使證書過期也不會影響程序的正常功能。
  • 簽名后需使用zipalign優化程序。
  • Android將數字證書用來標識應用程序的作者和在應用程序之間建立信任關系,而不是用來決定最終用戶可以安裝哪些應用程序。

簽名的方法

方法一、使用Eclipse工具

此方法適用于Android1.5及以上版本。

步驟一:打開Eclipse->選擇你要簽名的項目->右擊->android tools->Export signed Application package

步驟二,在出現的窗口確認是不是這個項目要簽名,然后選擇下一步:

步驟三:在Export Android Application 這一步,如果我們之前已有有了 keystore, 選擇我們之前已有的,否則我們新建一個。

如下,選擇需要保存這個證書文件的目錄,以及這個證書文件的一個密碼。

步驟四,點擊下一步后,我們需要填寫keystore的基本信息,如,別名,密碼,有效期,姓名,組織,組織名稱,所在城市,所在省份,國家等,點擊Next

步驟五、選擇被簽名后的APK保存位置。點擊finish。注意是選擇最終將產生的文件。

之后我們在剛才選擇的目錄下就可以看到生成的簽名后的APK文件。

方法二:使用命令行方式簽名。

這種方式比起前面要復雜很多了,但是卻對我們理解APK文件有很多幫助。這里我們是使用Keytool和Jarsigner給程序簽名。

keytool 是個密鑰和證書管理工具。jarsigner 工具利用密鑰倉庫中的信息來產生或校驗 Java 存檔 (JAR) 文件的數字簽名 (JAR 文件將類文件、圖象、聲音和/或其它數字化數據打包在一個文件中)。

這兩個工具都是JDK自帶的,所以你當前需要先確保JDK安裝正確。并且環境變量設置正確,以便可以以命令行的方式進行處理。

?

步驟一:用 KeyTool 產生證書文件

下面是我隨便生成的一個證書文件:

E:\Projects\cybercare.cn\trunk\android\ks2>keytool -genkey -keystore ks2.keystor
e -keyalg RSA -validity 10000 -alias ks2.keystore
輸入keystore密碼:
您的名字與姓氏是什么?
? [Unknown]:? www.cybercare.cn
您的組織單位名稱是什么?
? [Unknown]:? Cybercare
您的組織名稱是什么?
? [Unknown]:? 津馳速信
您所在的城市或區域名稱是什么?
? [Unknown]:? 北京
您所在的州或省份名稱是什么?
? [Unknown]:? 北京
該單位的兩字母國家代碼是什么
? [Unknown]:? CN
CN=www.cybercare.cn, OU=Cybercare, O=津馳速信, L=北京, ST=北京, C=CN 正確嗎?
? [否]:? y

輸入<ks2.keystore>的主密碼
??????? (如果和 keystore 密碼相同,按回車):
再次輸入新密碼:

E:\Projects\cybercare.cn\trunk\android\ks2>

命令參數說明:

-genkey??? 產生證書文件
-keystore? 指定密鑰庫的.keystore文件中

-keyalg???? 指定密鑰的算法

-validity??? 為證書有效天數,這里我們寫的是10000天。
-alias?????? 產生別名

在輸入密碼時沒有回顯,只管輸入就可以了,一般位數建議使用20位,切忌需要記下來后面還要用,

注意:

1、CN(Common Name - 名字與姓氏):其實這個“名字與姓氏”應該是域名,比如說localhost或是blog.devep.net之類的。輸成了姓名,和真正運行的時候域名不符,會出問題。瀏覽器訪問時,彈出一個對話框,提示“安全證書上的名稱無效,或者與站點名稱不匹配”,用戶選擇繼續還是可以瀏覽網頁。但是用http client寫程序訪問的時候,會拋出類似于“javax.servlet.ServletException: HTTPS hostname wrong: should be ”的異常。

2、在用keytool生成數字證書時必須保證:-keystore androidapp.keystore -alias androidapp.keystore 兩者名稱必須相同。否則下一步簽名時會出現錯誤:jarsigner: 找不到 androidapp.keystore 的證書鏈。androidapp.keystore 必須引用包含專用密鑰和相應的公共密鑰證書鏈的有效密鑰庫密鑰條目。

?

?

KeyTool的更多參數說明可以看這篇文章:

http://www.cnblogs.com/kungfupanda/archive/2010/09/01/1815047.html

?

步驟二:導出未簽名的APK文件

?

方法一:使用Eclipse

打開Eclipse->選擇你要導出的項目->右擊->android tools->Export Unsigned Application package

然后在選擇保存文件目錄和文件名對話框中輸入你想保存的地址,確認后導出后提示信息類似如下:

方法二:

使用Eclipse,在Package Explorer中選擇Androidmanifest.xml文件,找到overview項中,單擊Export the unsigned apk,如圖

注意:

http://www.android123.com.cn/kaifafaq/175.html 提供的方法二:

直接進入工程文件夾的bin目錄,比如我們的為C:\Documents and Settings\Administrator\workspace\android123\bin\android123.apk,直接復制出來就是未簽名的APK文件。

這個方法并不可取,這個方法取出來的是加了Debug簽名的APK文件,而不是未簽名的APK文件。

?

?

步驟三,使用產生證書文件簽名

下面是我簽名我一個之前寫的演示程序的執行效果:

E:\Projects\cybercare.cn\trunk\android\ks2>jarsigner -verbose -keystore ks2.keystore -signedjar GasBuddy_signed_00.apk GasBuddy002.apk ks2.keystore
輸入密鑰庫的口令短語:
輸入 ks2.keystore 的密鑰口令:
?? 正在添加: META-INF/MANIFEST.MF
?? 正在添加: META-INF/KS2_KEYS.SF
?? 正在添加: META-INF/KS2_KEYS.RSA
? 正在簽名: res/layout/active.xml
? 正在簽名: res/layout/businessmeninfo_activitylayout.xml
? 正在簽名: res/layout/businessmeninfo_commentinfo_layout.xml
? 正在簽名: res/layout/businessmeninfo_commentlist_layout.xml
? 正在簽名: res/layout/businessmeninfo_information_layout.xml
? 正在簽名: res/layout/businessmeninfo_pointcardinfo_layout.xml
? 正在簽名: res/layout/businessmeninfo_pointcardlist_layout.xml
? 正在簽名: res/layout/commen_publish.xml
? 正在簽名: res/layout/discount_gasstation_foot_layout.xml
? 正在簽名: res/layout/discount_gasstation_head_layout.xml
? 正在簽名: res/layout/discount_gasstation_layout.xml
? 正在簽名: res/layout/discount_gasstation_list_activitylayout.xml
? 正在簽名: res/layout/discount_gasstation_title_layout.xml
? 正在簽名: res/layout/login.xml
? 正在簽名: res/layout/main.xml
? 正在簽名: res/layout/menu_activitylayout.xml
? 正在簽名: res/layout/my_point_gasstation.xml
? 正在簽名: res/layout/my_point_gasstation_view.xml
? 正在簽名: res/layout/nearby_gasstation.xml
? 正在簽名: res/layout/overlay_pop.xml
? 正在簽名: res/layout/register.xml
? 正在簽名: res/layout/splash_layout.xml
? 正在簽名: AndroidManifest.xml
? 正在簽名: resources.arsc
? 正在簽名: res/drawable-hdpi/bubble_background.9.png
? 正在簽名: res/drawable-hdpi/icon.png
? 正在簽名: res/drawable-hdpi/marker.png
? 正在簽名: res/drawable-hdpi/u25.png
? 正在簽名: res/drawable-hdpi/u30.png
? 正在簽名: res/drawable-ldpi/icon.png
? 正在簽名: res/drawable-mdpi/icon.png
? 正在簽名: classes.dex

E:\Projects\cybercare.cn\trunk\android\ks2>

?

有關 jarsigner 參數的詳細信息可以參看
http://www.android123.com.cn/androidkaifa/173.html

?

解決對android APK 項目進行簽名過程中遇到的問題
http://zhangkun716717-126-com.iteye.com/blog/774382

參考資料

Android簽名用keytool和jarsigner制作apk文件
http://www.android123.com.cn/androidkaifa/173.html

如何導出一個未簽名的APK文件?
http://www.android123.com.cn/kaifafaq/175.html

無法對jar進行簽名,Android jarsigner問題
http://www.android123.com.cn/kaifafaq/183.html

有關Android簽名問題總結
http://www.android123.com.cn/androidkaifa/272.html

Android 簽名詳解
http://yangguangfu.iteye.com/blog/723182

android簽名apk批處理文件
http://phenix.blogbus.com/logs/60336413.html

android簽名與release
http://my.chinaunix.net/space.php?uid=20665441&do=blog&id=377220

?

總結

以上是生活随笔為你收集整理的[转]Android应用签名的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 最新久久| 日韩精品亚洲一区 | 奇米影视9999 | 国精产品一区一区三区在线 | 精品久久久久久无码人妻 | 久操影视| 国内精品国产三级国产aⅴ久 | 欧美中日韩在线 | 日韩第四页| 97在线视频免费观看 | 麻豆精品影院 | 高潮毛片无遮挡免费看 | 国产精品欧美亚洲 | 国产特级aaaaaa大片 | 美女视频黄的免费 | 午夜青青草 | 青青草成人免费在线视频 | 亚洲AV成人无码久久精品巨臀 | 桃色一区| 九九热精品免费视频 | 亚洲a一区| 国产无套内射又大又猛又粗又爽 | 一级少妇精品久久久久久久 | 中国av一级片 | 乱子伦一区二区三区 | 一区二区三区中文字幕 | 在线爱情大片免费观看大全 | 91性高潮久久久久久久久 | 天天久| 天天干天天操天天碰 | 99国产在线播放 | 深爱开心激情网 | 欧美综合色区 | 亚洲av无码久久精品色欲 | 亚洲AV无码国产日韩久久 | 国产成人中文字幕 | 黄色777 | 99re这里| 亚洲视频一 | youjizzxxx69 | 国产精品网站在线观看 | 在线视频激情小说 | 国产精品久久久久久久久久小说 | 一区二区欧美在线观看 | www.brazzers.com| 谁有毛片网址 | 国产精品爱啪在线线免费观看 | 香蕉视频在线看 | 一区二区在线免费看 | 日本人六九视频 | 草草在线观看 | 亚洲一区二区三区四区五区午夜 | 国产精品区一区二区三 | 一区二区三区在线电影 | 欧美色吊丝 | 天天玩天天干 | 国产刺激视频 | 男人网站在线观看 | 国产一区精品在线 | 暖暖av| 午夜影院在线看 | 国产乱人乱精一区二视频国产精品 | 久久激情av | 激情宗合| 国内成人精品视频 | 国产强伦人妻毛片 | 国产伦精品视频一区二区三区 | 欧美女同视频 | 国产精品日韩专区 | 日韩女优一区 | 精品熟妇视频一区二区三区 | 女人脱裤子让男人捅 | 女女调教被c哭捆绑喷水百合 | 日本一级片在线播放 | 国产精品视频第一页 | 99国产精品视频免费观看一公开 | 小视频在线免费观看 | 2017天天干| 欧美一区二区福利 | 秋霞视频在线观看 | 成人av免费在线 | 成人免费视频一区二区三区 | 真人毛片97级无遮挡精品 | 欧美中文一区 | 瑟瑟久久 | 少妇太爽了在线观看 | 清清草在线视频 | 国产视频精品在线 | 欧美色图俺去了 | 男人天堂99| 天堂资源在线观看 | 色视频在线免费观看 | 黄色av网站在线观看 | 香蕉视频在线观看免费 | 欧美77777 | 91插插视频 | 色偷偷成人 | 久久久无码人妻精品无码 | 伊人av网 |