这几天忙着把APP上架到各大应用市场,但遇到账号的某些问题,我只在百度上传了一个apk,昨天看了一下,未审核通过,原因,需要提供一个测试账号,于是我添加了一个测试账号,没想到今天一查已经审核通过,有些意外的惊喜,本来想着可能还要提供更多信息才能审核通过,因为软著和某些认证信息我都没有填。
说一说我对应用 上架的体会,虽说我开发android App有五年之久,由于在之前公司更多是为本公司或者是某个集团或者机构开发的,就是不公开出去给所有人用的,所以我是欠缺这方面的经验。刚开始第一个公司,是为建筑公司开发的应用,第二个公司是帮香港政府开发的应用,第三个公司是对外开发的,但是人家公司比较大,人员分工比较细,测试人员都有一个团队,应用上架那也是有专门的人员负责的,我只是负责开发部分功能,第四个公司是给自己的员工用的,apk上传到自己公司的服务后台,再通过下载链接给员工下载安装。直到现在这个公司,由于人员少,我自己负责开发android端,所以开发完,测试,上架都得我自己一个人,还好,相对于开发的工作,这些事情都不算难,虽然有点琐碎。我百度了应用上架到哪些应用商店,选取了一部分应用商店,然后向公司相关负责人员拿对应应用市场的账号,由于软著申请的时间加上之前公司的账号没有统一好,出现了一些问题,我最后只在百度上上传了应用,并通过审核上线了。
上线前的准备有几个步骤,1,开发好功能,并测试了几遍,不会容易出现大的bug,比如点几次就强制退出;2.问了项目经理说要加上友盟的渠道分析,拿了友盟的账号登进去,申请了key,把key加入AndroidManifest.xml中 具体代码是
android:name="UMENG_APPKEY"
android:value="你的key" >
android:name="UMENG_CHANNEL"
android:value="${替换渠道名字}" />
在build.gradle(app)中加入代码productFlavors{
default{}
yingyongbao{}
c360 {}
baidu {}
xiaomi {}
huawei{}
wandoujia {}
sanxing{}
oppo{}
vivo{}
lenovo{}
meizu{}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
之后,选择打包相应的渠道即可;3.但是我看到现在某些平台在审核应用的时候,会强制性要求你的apk必须要加固后才能审核通过,于是,我选择了用360加固平台来加固,下了一个客户端,按照他们的文档指示一步一步加固,并且是选择渠道分开打包的,不到几分钟即可完成加固分渠道打包,比直接使用Androidstudio分渠道打包快多了,如果用AndroidStudio直接打十几个渠道包得要十几二十分钟,但是用360加固保,只需要上传一个apk(选择default打包出来),选择你所要的渠道,十几个渠道包,几分钟即可,速度非常快;4,加固分渠道打包后,便上对应的应用市场上传apk即可,当然不同的应用市场,可能会遇到各种不同的问题,我只在百度这边成功上传应用并通过审核上线了,其他的应用市场还没有账号,要过几天才有账号上去上传应用。
其实,我现在上传上去的版本也不是完美的,某些bug出现了,我却无法重现,只能慢慢找了,因为公司现在需要应用上线,所以,打算先上线一个不完美的,再慢慢解决后再更新新的版本。
总结:很多时候我们对自己没有做过的事情是有胆怯的心理的,但是我始终相信:世上无难事,只怕有心人,做开发那么久,几乎很多时候遇到bug,都是一开始是紧张焦虑,甚至是害怕,到后面,自己一个人通过慢慢分析,上网络,找朋友把bug一点点解决掉,后来,我是遇到什么bug真的会淡定很多。我遇到bug,首先会看,这个bug是如果产生的,重现出来,然后先尝试在logcat上选择 error,只看出错的日志,看报什么错,一般是在对应的代码,比如在某个activity的某段代码上报的错,再针对相关代码作分析,我发现出现空指针的bug是最多的,当实在找不吃原因的时候,或者看错误代码都无法理解是啥问题的时候,我通常会选择百度或者Google一下,很多时候会能找到答案,因为自己出现的错误,很多时候别人已经遇到过,并且解决了,找到别人的解决方法,再在自己项目上一试,往往能解决,也有网上也找不到解决方法的时候,就只能用笨方法了,用断点,打印log,用各种假设,把相关数据换一下,总会找到问题所在点,解决方案也会慢慢浮现出来,再不行就新建一个项目,看会不会出现如此的问题,不会,则,与原项目一一对比,我之前就试过,找不到出现问题原因,所以,新建了一个项目,通过各种对比代码,终于解决了,当然我最佩服的是别人通过阅读源码去找到问题的所在,再去解决,这是最好也最能提升自己技术水平的一个方法,我自己在这方面是欠缺的,希望以后能不断提升阅读源码的能力。(看logcat-----搜网络----断点打印log-----看源码)