國內如何發布安卓程序
❶ APP在安卓應用市場上架流程+經驗匯總(純分享)
前言: 應用上架 是應用推廣的前提,想要應用有一個好市場的前提就是應用商店上架,這一步工作也非常重要。本篇文章是根據我的經驗所撰寫,耗時三天,主要從 安卓應用市場分布、上架准備材料及步驟、上架地址及難易程度、被拒解決辦法、上架避坑指南 等五個方面展開,希望能幫到大家~
據最新調研數據顯示目前在中國安卓第三方移動應用商店的活躍用戶中,各大應用市場的佔有率分別是: 應用寶>華為>OPPO>360>小米>網路>vivo>三星>pp助手>豌豆莢 ,還有數萬計的小站站長佔比微乎其微這里不做分析(如pc6、嗨客等),具體數據如下圖所示,大家可以各大應用市場佔比的比重去權衡。
1. APP 安全評估報告、軟體著作權登記證書、 ICP備案
把APP名稱+產品說明文檔+軟體安裝包提交到相關機構檢測合格即可獲得,此三項是APP上架必須提供的,申請周期一般為一到兩周(具體時間跟價格有關,時間越短價格越高),特殊行業需要提供其他證明或授權(如金融相關、新聞相關、直播相關)。
2. 准備軟體相關的基本信息: 應用 icon/介紹/ 截圖 /應用安卓包/測試賬號 (首次上架版本均為v1.0.0),截圖要提前准備,不同平台尺寸要求均不同,一般為480*800或者1080*1920,設計樣機也行。
3、首次上架應用市場可能會要求對安裝包進行加固,應用寶和360應用商店會提供加固工具,這步請由專業人士操作。
4、准備應用上架承諾書(免責函)、許可權獲取聲明、APP隱私政策聲明及網址(以上應用市場均有提供模板)。
5、相關資質均整理好 形成PDF 留存,以便作為附件資料上傳。
1.注冊賬號並提交企業資質(准備 企業名下的 手機號、郵箱、營業執照、許可證、法人手持身份證正反面、法人身份證復印件加蓋公章、公戶開票信息 即可);
2.企業資質合格後做好平台渠道統計,新建軟體信息並上傳安裝包和基本信息;
3.提交相關 軟體著作權證明,許可權說明,保證函 等,反復核對後提交等待審核結果;
4.大概3-4個工作日就會有審核結果的郵件至郵箱中。
( 注意:提交應用絕對不能隨便刪除,否則後面再提交會顯示應用包名沖突 , 會要求走應用認領流程,那個時候就會相當麻煩啦。 此步驟 僅為提交操作指引,有不清楚的可以直接咨詢對應平台的客服進行咨詢解答。 )
重要提示:開發者QQ號碼 一旦注冊不能變更 ,建議使用公司老闆或法人的QQ號碼而不是員工私人號碼注冊,以免遇到員工離職等情況造成不必要的麻煩。
1、騰訊應用寶
騰訊開放平台地址: https://open.tencent.com/
上架難度: ☆☆☆☆
注冊開發者賬號地址: https://ssl.zc.qq.com/v3/index-chs.html?from=pt
注冊開發者帳號方法: https://wiki.open.qq.com/wiki/%E6%B3%A8%E5%86%8C%E5%BC%80%E5%8F%91%E8%80%85%E5%B8%90%E5%8F%B7
應用提交方法: https://wiki.open.qq.com/wiki/%E5%88%9B%E5%BB%BA%E6%96%B0%E5%BA%94%E7%94%A8
2 、華為應用市場
華為開發者聯盟地址: https://developer.huawei.com/consumer/cn/
上架難度: ☆☆
注冊開發者帳號地址: https://id1.cloud.huawei.com/CAS/portal/userRegister/regbyphone.html
注冊開發者帳號方法: https://developer.huawei.com/consumer/cn/doc/start/20300
應用提交方法: https://developer.huawei.com/consumer/cn/doc/50102
3 、OPPO應用商店
OPPO開發者聯盟地址: https://open.oppomobile.com/
上架難度: ☆☆☆
注冊開發者帳號地址: https://id.heytap.com/register.html?type=1&callback=https%3A%2F%2Fopen.oppomobile.com
注冊開發者帳號方法: https://open.oppomobile.com/wiki/doc#id=10446
應用提交方法: https://open.oppomobile.com/wiki/doc#id=10035
4 、360手機助手
360開放平台地址: http://dev.360.cn/
上架難度: ☆ ☆ ☆
注冊開發者帳號地址: http://dev.360.cn/
注冊開發者帳號方法: http://dev.360.cn/wiki
應用提交方法: http://dev.360.cn/wiki/index/id/21
5 、網路手機助手
網路開發者平台地址: http://app..com/
上架難度: ☆ ☆ ☆
注冊開發者帳號方法: http://app..com/docs?id=2&frompos=401003
應用提交方法: http://app..com/docs?id=5&frompos=401007
6 、小米應用商店
小米開放平台網站: https://dev.mi.com/console/
難易程度: ☆ ☆
注冊開發者帳號地址: https://cn.account.xiaomi.com/pass/register
(企業操作人要進行實名認證,要提供身份證號,銀行卡號及預留的手機驗證碼驗證。該認證將調用「小米支付」服務,在該小米賬號下需要綁定銀行卡信息。)
注冊開發者帳號方法: https://dev.mi.com/docs/appsmarket/distribution/account_register/
應用提交方法: https://dev.mi.com/docs/appsmarket/distribution/app_submit/
7、ViVO應用商店
ViVO開發者聯盟地址: https://dev.vivo.com.cn/home
難易程度: ☆ ☆ ☆
注冊開發者帳號地址: https://id.vivo.com.cn/?callback=http://dev.vivo.com.cn®isterSource=1&_201912251203#!/access/register
注冊開發者帳號方法: https://dev.vivo.com.cn/documentCenter/doc/2
應用提交方法: https://dev.vivo.com.cn/documentCenter/doc/52
8、 三星 應用商店
三星開發者聯盟地址: http://support-cn.samsung.com/App/DeveloperChina/Home/Index
難易程度: ☆ ☆ ☆☆
注冊開發者帳號地址:https://account.samsung.cn/accounts/v1/GAS/terms#
注冊開發者帳號方法:https://seller.samsungapps.com/main/sellerMain.as
應用提交方法:https://seller.samsungapps.com/guidePopup.as?numcid=0301010000&localeLanguage=zh
9 、 阿里應用商店/豌豆莢/PP助手
開發者聯盟地址:http://open.uc.cn/
難易程度: ☆ ☆ ☆
注冊開發者帳號地址:http://open.uc.cn/login?redirectUrl=http%3A%2F%2Faliapp.open.uc.cn%2F.%2FaploadAppSuc
注冊開發者帳號方法:http://aliapp.open.uc.cn/companyinfo#tips
應用提交方法:https://ai.alimebot.taobao.com/intl/index
被拒問題1:提供新聞類資質
解決:嘗試換分類,隱藏App中政治、軍事、社會類等新聞,簡介描述中去掉新聞類字眼。
被拒問題2:廣告原因
解決:廣告、積分牆是不允許上架的,可以先關閉或隱藏,上架以後再打開。
被拒問題3:產品不收錄
解決:設置隱藏開關、加深頁面邏輯、提交保證函等。
被拒問題4:測試賬號
解決:根據要求提供軟體測試賬號。
被拒問題5:ICP
解決:提供icp備案信息,icp最好能提前准備,域名備案信息與開發者公司一致最好。
1、多看看平台該類型的應用收錄規則,盡量規避相關界面和字眼;
2、准備兩個以上測試賬號一遍審核人員測試APP;
3、提交上架安裝包必須反復測試才可以,寧願後面麻煩點前期一定不能留下嚴格規范平台規則的拒審理由;(上架成功後可以利用熱更新);
4、隱私政策中許可權獲取盡量說明避免模糊不清;
5、必須做到 1對1原則 ,且真實有效(即ICP備案、軟著、開發者與APP名稱均一致);
6、現在平台審核速度也很快,一般一到兩天就會給回復,及時關注開發者後台和郵件、簡訊,遇到問題 第一時間調整 ;
7、可以試著在後台補交 (華為、小米、應用寶)三家中的兩家後台上架截圖 作為輔助依據上架,碰碰運氣;
8、最後一條:不要盲目修改隻字片語想要矇混過關,因小失大,要 學會思考 才是重點(可從以下四個角度思考:產品類型、開發方式、資質齊全、手續)。
總結:此文只做安卓主流市場的分享,更詳細的流程和規則其實在各自開發者平台官網上都可以找到,要注意的是,不同類型的APP在不同應用市場需要提供的證書都會有所不同, 提前做好准備才是王道 。三星、小米對資料的要求是最嚴格的,然後是360、阿里。如果你的應用程序是批量製作的馬甲包,使用單一或幾個模板生成的,或用簡單文字、圖片打包而成的話, 除了文中提出的避坑事項還要注意區分上架包和正式包 ...更多干貨等下次分享~
❷ 如何發布android 應用程序,app增加簽名證書
Android系統要求,所有的程序經過數字簽名後才能安裝。Android系統使用這個證書來識別應用程序的作者,並且建立程序間的信任關系。證書不是用於用戶控制哪些程序可以安裝。證書不需要授權中心來簽名:Android應用程序上使用自己簽名的證書是完全允許且普遍的。
理解Android應用程序簽名有以下幾個重要點:
·所有的應用程序都必須簽名。系統不會安裝任何一個不簽名的程序。
·你可以使用自己的證書來簽名。不需要任何授權中心。
·當你要為最終用戶發布你的應用程序的時候,你必須簽入一個合適的密鑰。你不可以發布程序的時候還使用SDK工具簽入的DebugKey。
·系統只在安裝應用程序的時候檢測證書的有效期。如果應用程序在安裝之後證書失效了,那麼,應用程序還是可以正常工作。
·你可以使用標准工具——Keytool和Jarsigner——生成Key並簽名apk文件。
·一旦你為應用程序簽名了,一定要使用zipalign工具來優化最終的APK包。
Android系統不會安裝和運行沒有正確簽名的應用程序。這條規則適用於任何運行Android系統的地方,不管是真機還是模擬器。正是由於這個原因,你必須在模擬器或真機上運行/調試程序之前對程序進行簽名。
當你調試應用程序時,AndroidSDK工具替你對應用程序進行了簽名。Eclipse的ADT插件和Ant編譯工具都提供了兩種簽名模式——Debug模式和Release模式。
·當開發和測試時,你可以使用Debug模式。在Debug模式下,編譯工具使用內嵌在JDK中的Keytool工具來創建一個keystore和一個key(包含公認的名字和密碼)。在每次編譯的時候,使用這個DebugKey來為apk文件簽名。由於密碼是公認的,在每次編譯的時候,也不需要提示你輸入keystore和key密碼。
·當你的程序准備發布時,你必須在Release模式下,使用密鑰來為apk文件簽名。有以下兩種方式可以做到:
1.命令行中使用Keytool和Jarsigner。在這個方法中,首先需要編譯出一個未簽名的apk。然後使用Jarsigner(或相似的工具),用你的密鑰為apk手動簽名。如果你沒有合適的密鑰,你可以運行Keytool來手動生成自己的keystore/key。
2.使用ADT導出向導。如果你使用Eclipse/ADT插件進行開發,你可以使用導出向導來編譯程序,生成密鑰(如果需要),並為apk簽名,所有這些操作都在導出向導中。一旦你的程序簽名了,別忘了運行zipalign來為apk進行額外的優化。
簽名策略
應用程序簽名的某些方面可能會影響應用程序的開發,特別是你打算一起發布多個應用程序的時候。一般來說,推薦的策略是在整個應用程序壽命內,所有的程序簽上相同的證書。
以下有幾個應該這么做的原因:
·應用程序升級——當你對應用程序進行升級時,如果你想用戶平穩的升級,那麼,你就需要簽上相同的證書。當系統安裝一個升級應用程序時,如果新版本的證書與老版本的證書有匹配的話,那麼,系統才會允許進行升級。如果你沒有為版本簽上合適的證書,當你安裝時,你需要給應用程序指定一個新的包名——在這種情況下,用戶安裝的新版本,被當作是一個全新的應用程序。
·應用程序模塊化——如果應用程序請求的話,Android系統允許簽有相同證書的應用程序運行在相同的進程里,這樣,系統就會把它們看作是一個單一的應用程序。用這種方法配置應用程序,用戶可以選擇更新每個獨立的模塊。
·代碼/數據許可權共享——Android系統提供了基於簽名的許可權檢查,因此,如果應用程序間簽有特定的證書,那麼,它們之間可以共享功能。通過多個程序簽有相同的證書並且使用基於簽名的許可權檢查,你的程序可以以一種安全的方式共享代碼和數據。還有一個決定簽名策略的重要因素是:如何設定key的有效期。
·如果你計劃支持單個應用程序的升級,你需要確保你的key擁有一個超過期望的應用程序生命周期的有效期。推薦使用25年或更多的有效期。當你的key過期了,用戶也就不能平穩的更新到新版本了。
·如果你想給多個無關的應用程序簽上相同的key,那麼,你必須確保key的有效期超過所有應用程序所有版本的生命周期,包括將來有可能添加到這一陣營的程序。
·如果你想在AndroidMarket上發布你的程序,key的有效期必須在2033.10.22以後。Market伺服器強制這一要求,目前是保證用戶可以平穩的更新他們的程序。
當你設計應用程序時,一定要把這些點記在腦子里,並且使用一個合適的證書來為應用程序簽名。
簽名的基本設定
在你開始之前,你必須保證Keytool對SDK編譯工具來說是可利用的。多數情況下,你可以通過設置JAVA_HOME環境變數來告訴SDK編譯工具如何找到Keytool。另外,你還可以添加JDK中Keytool的路徑到PATH的變數里。
如果你在linux上開發,並且使用GNU編譯器來編譯Java,那麼,請確保系統是使用JDK中的Keytool,而不是gcj。如果Keytool已經在你的PATH中,它有可能是對/usr/bin/keytool的符號鏈接。在這種情況下,檢查符號鏈接的目標,確保它是指向JDK中的Keytool。如果你打算對公眾釋放你的應用程序,你還需要Jarsigner工具。Jarsigner和Keytool都包含在JDK中。
Debug模式下簽名
Android編譯工具提供了Debug簽名模式,使得開發和調試應用程序更加容易,而且還滿足Android系統的簽名要求。當使用Debug模式編譯你的app時,SDK工具會調用Keytool工具自動創建一個Debug的keystore和key。然後,這個Debugkey會自動用於apk的簽名,這樣,你不需要使用你自己的key來為應用程序包簽名。
SDK工具使用預先定義好的名字/密碼來創建Debugkeystore/key:
·Keystore名字:「debug.keysotre」
·Keystore密碼:「android」
·Key別名:「androiddebugkey」
·Key密碼:「android」
·CN:「CN=AndroidDebug,O=Android,C=US」
如果需要的話,你可以改變Debugkeystore/key的位置和名字,或者提供一個自定義的Debugkeysotre/key。然而,任何自定義的Debugkeystore/key必須使用和默認Debugkey(上面描述的)相同的名字和密碼。(在Eclipse/ADT中,操作Windows>Preferences>Android>Build實現。)
注意:你不能將簽有Debug證書的應用程序發布給公眾。
Eclipse用戶
如果你在Eclipse/ADT下開發(並且已經按照上面描述的「簽名的基本設定」配置了Keytool),Debug模式下簽名默認是開啟的。當你運行或是調試應用程序時,ADT會使用Debug證書進行簽名,並運行zipalign,然後安裝到選擇的模擬器或是連接上的設備。整個過程不需要你參與,前提是ADT能訪問Keytool。
Ant用戶
如果你使用Ant來編譯你的apk文件,需要在ant命令中添加debug選項來開啟Debug簽名模式(假設你正在使用由android工具生成build.xml文件)。當你運行antdebug來編譯你的程序時,編譯腳本會生成一個keystore/key,並為apk進行簽名。然後腳本會使用zipalign工具對apk進行對齊處理。整個過程不需要你參與。閱讀「其它IDE下開發:Debug模式編譯」來了解更多的信息。
Debug證書過期
Debug模式下簽名用的證書(默認是Eclipse/ADT和Ant編譯)自從它創建之日起,1年後就會失效。
當證書失效時,你會得到一個編譯錯誤,在Ant編譯上,
錯誤如下:
debug:
[echo]Packagingbin/samples-debug.apk,andsigningitwithadebugkey...
[exec]DebugCertificateexpiredon8/4/083:43PM
在Eclipse/ADT中,Android控制台上你將會看到一個相似的錯誤。
為了解決這個問題,只需要刪掉debug.keystore文件即可。AVD默認存儲的位置在:~/.android/avd(OSX和Linux),C:DocumentsandSettings\.android(WindowsXP),C:Users\.android(WindowsVista)。
當下一次編譯的時候,編譯工具會重新生成一個新的keystore和Debugkey。
Release模式下簽名
當你的程序准備好釋放給其它用戶時,你必須:
1.獲取一個合適的密鑰
2.在Release模式下編譯程序
3.使用密鑰簽名程序
4.對齊APK包
如果你是使用Eclipse/ADT插件開發,你可以使用導出向導來完成編譯、簽名和對齊等操作。在整個過程中,導出向導甚至還可以生成一個新的keystore和密鑰。因此,如果你使用Eclipse,你可以直接跳到「使用EclipseADT編譯和簽名」。
獲取一個合適的密鑰為了進行程序的簽名,首先,你必須有一個合適的密鑰。密鑰指:
·個人持有。
·代表個人、公司或組織實體的身份。
·擁有一個有效期。有效期推薦超過25年。
如果你在AndroidMarket上發布你的程序,需要注意一點的是:程序的有效期需要在2033.10.22之後。你不能上傳一個應用程序,而它的key的有效期是在這個日期之前。
·不是由AndroidSDK工具生成的Debugkey。
如果你沒有一個合適的key,你一定要使用Keytool來生成一個。如「基本設定」中描述的,確保Keytool可用。
為了用Keytool生成一個key,使用keytool命令並傳入一些可選參數,如下表所示。
警告:確保密鑰的安全。一定要閱讀「安全儲存你的密鑰」中討論如何確保你的密鑰的安全以及這對你和用戶為何如此重要。尤其是,當你生成你的密鑰時,一定要為keystore和key使用強密碼。
❸ 怎樣發布app,發布app的流程是什麼
選擇一個App發布平台,然後發布app。
以應用寶為例,發布步驟如下:
1、網路裡面搜索應用寶,找到官方網站打開。
❹ 如何發布打包並發布自己的Android應用
重點給大家介紹,發布時候生成的「簽名文件」的作用(前面提過,叫大家一定要保管好此文件),如何驗證自己的App是否發布成功,是否成功簽名,以及發布後的apk文件如何上傳(一般上傳到哪裡去,要怎麼弄呢?要注意那些問題等等)。
談到「簽名文件」的作用,首先我想到了Windows下的「DLL地獄」。如果讀者是一位Windows程序員(尤其是年紀大一點的程序員),談「DLL」色變,那可真是個噩夢啊。
所謂的「DLL地獄」,就是指「DLL文件覆蓋」(因為Windows文件系統有個原則,同一個目錄下面如果出現同類型且類型命名相同的文件,後者將覆蓋前者。)。好了,這大概不是本文的重點,有興趣的讀者可以參考相關資料。
後來到了.NET的時代,這個問題得到了很好的解決。熟悉.NET且有一定深入研究的童鞋都應該知道,.NET中有一種「強命名程序集」的概念,正是用於解決這個問題。
形象點說,就是給了「DLL文件」簽名、描述,讓他們能夠區分開來,從而避免「地獄」。(個人淺淺的認為,不知道這樣講是否正確,不足之處請指出)。
回到Android中來,這年頭開發Android應用的人可不少(因為想賺錢的人實在太多了)。那「包名、類名」這些是不是很容易出現「撞車」呢?有了簽名文件,這些就能夠得到很好的解決了。
APK如果使用一個key簽名,發布時另一個key簽名的文件將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應用被惡意的第三方覆蓋或替換掉。
比如:你發布在「電子市場」的應用,一段時間後你需要升級應用了,繼續使用你以前的「簽名文件」,這樣就能保證你的版權和安全。道高一尺,魔高一丈。
在中國大地的屏幕上,再牛B的軟體也可能被破解的,有簽名文件,就能很好的防止這種事情(不能完全)。
這樣簽名其實也是開發者的身份標識。交易中抵賴等事情發生時,簽名可以防止抵賴的發生。
上面說了幾點,都是使用簽名文件的好處。不一定很完整,但都是很常見,很典型的。
那我們如何檢查自己發布後是否「簽名成功」呢???
其實,我們使用Eclipse+ADT插件從開發環境安裝到手機中的APK文件已經包含了ADT插件的Debug簽名文件。但是這不是發布時候的「正式簽名」文件。讀者可以參考我上文(linuxidc.com/Linux/2011-10/45887.htm)中的具體步驟,嘗試著發布自己的app,並請保留好簽名文件。
簽名完成後,你可以用winrar打開apk,在Meta-inf目錄下,用文本編輯器打開CERT.RSA文件,如果能看到部分你建的key時候輸入的文本就是正式簽名了,如果測試簽名會有debug字樣。(一般情況會亂碼,但是用肉眼仔細觀察,你就能略微的看清楚一些啦)
值得提醒的就是,軟體代碼更新後(需要發布新的APK了),要將Manifest的Android:versionCode值+1,每更新一次都要加1。
弄明白這些之後,該向大家講講上傳應用了。由於Android是一個相對開放的平台,所以上傳應用的限制也低一些,而且缺乏官方的規范。不像蘋果和它的APP商店那般封閉。國內而言,上傳應用的網站有很多,國內比較有名的就是「安卓市場」,「Android 電子市場」,「機鋒市場」......
不同的市場審核規則也不盡相同,但是大同小異。還有一些值得注意的是:注意你的APP語言(國際化),屏幕解析度及尺寸的支持...(當然,這是打包前就應該做好的工作啦)