国内如何发布安卓程序
❶ 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语言(国际化),屏幕分辨率及尺寸的支持...(当然,这是打包前就应该做好的工作啦)