转载好文 以便日后享用!android 开发上线流程

@TOC




刚过完春节,好久没写过博客,今天看到一个帖子把移动开发过程中需要的很多东西都做了记录,我这里也转载一下,留着以后备用。

软件立项及方向选择

因为自己的一个想法开始做这个项目,或者在实际开发中由产品经理立项。由于本人不会后端,所以选择的是三方开源API。
百度apistore——里面有很多可以用的API接口,有付费的也有免费的。
你也可以直接用Bmob后端云——一个强劲的后端,免去所有服务器端编码工作量

本软件包含两大模块

美拍视频
2.jpg

原型设计

墨刀——免费的移动应用原型与线框图工具
人人都是产品经理——产品经理、产品爱好者学习交流平台

UI设计

UI设计大家都知道PS或者coreldraw,当然作者只会切图。本项目全部运用Android material design设计风格
官方Material Design详细介绍文档:http://www.google.com/design/spec/material-design/introduction.html

框架的搭建

现在的MVP模式越来越流行。所以框架主体选用了MVP+RxJava+Retrofit+okhttp3
具体可查看:一个优秀的Android应用从建项目开始

开发

这个阶段是最简单的,详细怎么开发作者就不阐述了。在这里作者给出本项目所用到的东西:

上线准备

1、各平台账号的申请

  • 应用市场
    对于个人开发者来说,Android App开发最麻烦的不是开发,而是各种应用商店的审核,广告平台的集成以及推广。由于只有一个人,所以必须所有的事情都自己做。而且对于个人来说,即便上述操作都完成了,如果应用商店不进行推荐,下载量也是迟迟起不来。毕竟不论软件好用与否,大家下载软件往往都是从下载量高到下载量低的。我的某些软件也是因为当初有应用商店与广告平台合作,会对特定广告平台的软件进行推广,而下载量暴增的。由于国家的实名制规定,很多的应用商店开始审核身份证了,需要身份证扫描件,照片等等,这个给个人开发者带来了很大的困扰。
  • 登录及分享平台账号
    分享和登录可单独集成,也可以使用sharesdk、友盟等三方工具。分享还好,但是微信登录必须要进行认证,而且要收取年费,对于个人开发者又是一大困扰。
  • 统计
    统计现在一般都是用友盟,没什么可说的了

2、官网以及运营

对于个人开发者而言,官网和运营肯定是越简单越好,除非你这个项目有很好的商业模式。所以一般就自己进行一个简单的新媒体运营,这里为大家推荐这篇文章:新媒体运营微信编辑人员必备工具(打包免费送)
作者一般用的是:MAKA——一分钟上手,五分钟创作H5,超越PPT的极简操作方式!单页可以用来做官网。

3、代码混淆

为什么需要代码混淆呢?原因很简单,你的apk很容易被反编译出来,你写的代码都会被看到,因此我们需要在编译过程中对代码进行一定程度的混淆,使得别人不能反编译不出你的代码。本文因为是开源,所以没做混淆处理。下面介绍下具体混淆过程:
新建一个项目,Android Studio默认关闭代码混淆开关,在build.gradle文件中,如下图所示的minifyEnabled 开关,因此如果需要混淆代码,需将false改为true,然后在文件proguard-rules.pro添加具体混淆规则。


     
     
  1. -dontskipnonpubliclibraryclasses # 不忽略非公共的库类
  2. -optimizationpasses 5 # 指定代码的压缩级别
  3. -dontusemixedcaseclassnames # 是否使用大小写混合
  4. -dontpreverify # 混淆时是否做预校验
  5. -verbose # 混淆时是否记录日志
  6. -keepattributes Annotation # 保持注解
  7. -ignorewarning # 忽略警告
  8. -dontoptimize # 优化不优化输入的类文件
  9. -optimizations !code/simplification/arithmetic,!field/,!class/merging/ # 混淆时所采用的算法
  10. #保持哪些类不被混淆
  11. -keep public class * extends android.app.Activity
  12. -keep public class * extends android.app.Application
  13. -keep public class * extends android.app.Service
  14. -keep public class * extends android.content.BroadcastReceiver
  15. -keep public class * extends android.content.ContentProvider
  16. -keep public class * extends android.app.backup.BackupAgentHelper
  17. -keep public class * extends android.preference.Preference
  18. -keep public class com.android.vending.licensing.ILicensingService
  19. #生成日志数据,gradle build时在本项目根目录输出
  20. -dump class_files.txt #apk包内所有class的内部结构
  21. -printseeds seeds.txt #未混淆的类和成员
  22. -printusage unused.txt #打印未被使用的代码
  23. -printmapping mapping.txt #混淆前后的映射
  24. -keep public class * extends android.support.** #如果有引用v4或者v7包,需添加
  25. -libraryjars libs/xxx.jar #混淆第三方jar包,其中xxx为jar包名
  26. -keep class com.xxx.{*;} #不混淆某个包内的所有文件
  27. -dontwarn com.xxx #忽略某个包的警告
  28. -keepattributes Signature #不混淆泛型
  29. -keepnames class * implements java.io.Serializable #不混淆Serializable
  30. -keepclassmembers class **.RKaTeX parse error: Expected '}', got '#' at position 91: …"hljs-comment">#̲不混淆资源类</span></…Creator *;
  31. }

3、打包上传市场

这阶段主要注意的就是各个平台的审核标准,说实话对于个人开发者,各个平台都不是很友好,很多限制。这个就需要自己慢慢琢磨了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值