日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

提交應(yīng)用程序到Android Market教程

 遙遠(yuǎn)的橋zz 2011-02-14

—來源: 作者:

投遞者:cattong 投遞時(shí)間:2010-09-18; 最后更新時(shí)間:2010-09-18


給你的程序簽名

概述

 注意事項(xiàng):

所有提交到Market的程序必須經(jīng)過簽名。未經(jīng)簽名的程序不能安裝。
你可以使用個(gè)人證書去簽名程序,不一定要經(jīng)證書機(jī)構(gòu)授權(quán)。
用Debug版本證書簽名的程序?qū)⒉荒馨l(fā)布。
在安裝程序時(shí)會(huì)檢測簽名證書是否過期。如果程序在安裝后證書過期,程序也能正常使用。
你可以使用keytool和Jarsigner產(chǎn)生密鑰并簽名你的程序。
你的程序在簽名后還需要使用zipalign去優(yōu)化。

 建議:

用同一密鑰簽名所有程序,以保證程序的無縫升級(jí)。
證書的有效期最好在25年以上。發(fā)布到Market的程序中證書有效期必須在2033年10月22日以后。

  如何簽名

除了下面提到的方法,還有一種利用GUI來編譯的方法。
在 Eclipse中Package Explorer里選擇要編譯的工程,F(xiàn)ile->Export, 打開Android文件夾,選擇Export Android Application,一步一步完成向?qū)Ъ纯?。這樣程序就會(huì)編譯,簽名,優(yōu)化,可以直接發(fā)布到Market了。

獲取合適的私有密鑰

通過Keytool去產(chǎn)生私有密鑰。Keytool在JDK/bin目錄里(比如Crogram FilesJavajdk1.6.0_20in)。

Keytool參數(shù) 描述
-genkey 生成公鑰和私鑰
-v 輸出詳細(xì)信息
-keystore <keystore-name>.keystore 生成的keystore文件名
-alias <alias name> 此密鑰的別名。只保留前8位字符
-keyalg <alg> 加密算法。支持DSA和RSA


-dname <name>
用于描述此密鑰的創(chuàng)建者信息。如果沒有提供,Jarsigner會(huì)提示你輸入這些信息

-validity <valdays>
密鑰有效期,按天數(shù)。最好>10000

例如:keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000
更多關(guān)于keytool的信息:
http://java./j2se/1.5.0/docs/tooldocs/#security

編譯Release版本程序

在release狀態(tài)下程序是未經(jīng)簽名的。在Eclipse中導(dǎo)出未經(jīng)簽名的release版本apk文件。在Package Explorer中找到要編譯的工程,右擊選擇Android Tools->Export Unsigned Application Package

用私有密鑰簽名

通過Jarsigner來使用私有密鑰簽名。
例如:jarsigner -verbose -keystore my-release-key.keystore
-signedjar my_application_signed.apk my_application.apk alias_name

用法:jarsigner [選項(xiàng)] jar 文件別名


驗(yàn)證已簽名程序:jarsigner -verify my_signed.apk

用法:jarsigner -verify [選項(xiàng)] jar文件



 優(yōu)化APK文件

通過zipalign來優(yōu)化apk文件。Zipalign可以在Andorid SDK/tools目錄下找到。
例如:zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
your_project_name-unaligned.apk是輸入,your_project_name.apk是輸出。如果要覆蓋已有文件,需要加上-f參數(shù)

 添加版本信息

主要有兩方面,一個(gè)是程序的版本號(hào),另外一個(gè)是程序中要求的系統(tǒng)API版本號(hào)。二者都需要在AndroidManifest.xml中設(shè)定。

程序版本號(hào)

Android:versionCode: int類型,只能是整數(shù)。別的程序在調(diào)用時(shí)要用到,最終用戶無法看到。
Android:versionName: 字符串類型。就是給最終用戶看的。

 程序要求的系統(tǒng)API版本號(hào)

Android:minSdkVersion: 要執(zhí)行此程序需要的最低的系統(tǒng)API版本
Android:targetSdkVersion: 此程序設(shè)計(jì)時(shí)的目標(biāo)系統(tǒng)API版本
Android:maxSdkVersion: 此程序設(shè)計(jì)時(shí)支持的最高的系統(tǒng)API版本

準(zhǔn)備發(fā)布

發(fā)布前的檢查列表:
在考慮發(fā)布程序之前
1. 在真實(shí)設(shè)備上進(jìn)行完整的測試
      2. 考慮在程序中添加最終用戶許可協(xié)議
3. 在程序中添加圖標(biāo)和標(biāo)題
4. 關(guān)閉并清理log和debug信息

在進(jìn)行最后的編譯之前
5. 添加版本號(hào)
6. 獲取合適的密鑰
7. 如果用到了Mapview元素,請注冊Maps API key

   在程序編譯完成后
8. 對程序進(jìn)行簽名
9. 測試編譯好的程序

發(fā)布程序到Android Market

1. 注冊賬號(hào):
http://market.android.com/publish
2. 在提交程序之前,必須確保程序符合Android Market 服務(wù)器的要求:
(1) 對程序簽名的私有密鑰有效期必須在2033年10月22日之后。
(2) 程序中必須設(shè)定了android:versionCode和android:versionName。前者用于程序的更新,后者會(huì)展示給最終用戶。
(3) 在程序的manifest中必須定義了android:icon和android:label。


-

感謝<cattong>的貢獻(xiàn)

創(chuàng)建這個(gè)平臺(tái)(文章發(fā)布和收集平臺(tái))是為了收集技術(shù)文章,方便大家共享和找到所需要的資源!

冰刀

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多