一、谨慎选择包名

包名 (Package Name) 就相当于一款应用在户口本上登记的名字,是系统用来区分不同应用的字段。重复的包名会被认为是同一款应用,不能同时安装在一个系统里。一般来说,包名建议使用域名反序。比如豌豆荚的网站域名是 www.wandoujia.com,那么豌豆荚的一系列 Android 应用的包名就是 com.wandoujia.***。这种约定俗成的办法可以最大程度地避免“撞名”的事故。

案例一

某个手机 ERP 客户端的开发者,在开发应用时使用了 Adobe 的工具,同时也参考了 Adobe 的官方教程,从而将应用命名为 air.Main 这样的通用包名,跟另一个游戏重名了。于是,在升级和洗白白的过程中就都产生了混乱……所以取名要慎重啊!

案例二

还 有个开发者,不知为何给几个不同的应用都使用了同一个包名。于是“com.hexin.qs.app.android”这个包名,对应了“申国万银证 券”、“中信建投手机证券”、“联讯证券手机炒股”等好几个完全不同的应用。带来的后果就是,用户不能在手机上同时安装这几个应用,而且在升级过程中也容 易从一个应用升级到另一个应用上。所以,不能给好几个孩子取同一个名字啊!

二、一款应用只应该有一个签名

签名文件就相当于开发者的“身份证”,我们平时生活中应该只有一张身份证,那么在手机里也一样,签名也应该是唯一的。而且因为签名的加密机制,使复制和伪造签名变得几乎不可能,所以“豌豆洗白白”也是将签名作为判断是否官方版的最主要标准之一。
如 果一个应用使用了不同的签名,那么对于用户来说,可能会造成应用无法升级,因为 Android 系统会在升级应用的过程中比对签名,不同的签名无法升级。如果用户选择强制升级的话,因为签名不同,所以需要先卸载旧版再安装新版,那么之前存在本地的应 用数据、游戏记录等也会直接丢失。

案例一

就好像我们会不小心弄丢身份证,开发者也会不小心弄丢签名文件。我们曾遇到过四五例类似的例子,开发者找上门来说要求更换签名,原来是因为工程师离职把签名文件带走了,老板要不回来了,只好把原来的签名也全都改一遍。所以签名文件要保管好啊!

案例二

我 们曾经统计过,网游“我叫 MT”在各大市场上一共有 48 种不同的签名。据“我叫 MT”的开发者说,他们是通过不同的签名来区分不同的渠道的,而一共放出过多少种签名难以统计。这么多个不同的签名文件,除了自己管理起来非常麻烦之外, 也给用户的升级过程带来了困扰,一不小心升级到了不同签名的版本上,游戏记录就全部丢失了。
Android 签名机制的目的是为了检验应用是否被人更改过,而不是为了让你区分渠道的。那么正常来说应该用什么方法来区分渠道呢?请看下一条。

三、使用 xml 配置文件来区分渠道

一般来说,我们在 Android manifest 文件中使用 meta-data 来区分渠道。例如:

1
<meta-data android:name= "CHANNEL" android:value= "wandoujia" />

每次正式打包完成后,修改 android:value,再重新打包即可生成一个新的渠道包,所以:

不要再用签名来区分渠道了!

四、正确填写版本号在 Android 应用中,有两个参数与版本号相关。其中,version Name 表示版本名称,是字符串,version Code 表示版本号,是整型数字。一般来说,用户直观看到的是 version Name,所以这里应该填写形似“4.15.1”这样的版本号。而真正用来判断新版本旧版本的参数是 version Code。在应用发布第一个版本的时候,version Code 应该填 1,然后每次发布的时候都递增,这样才是以规范的格式告诉各大市场你的应用的更新程度。有的开发者在 version Code 上非常随意,这个版本发布的时候碰上结婚纪念日,于是用老婆的生日当 version Code;下个版本发布的时候运气不太好,于是用自己的幸运数字当作 version Code……这样在用户看来的结果就是,明明从官网安装了最新的 2.2.0 版本,可是各大市场却提醒“升级到 2.1.3 版本”,越升级版本号越小了。以上四件小事,虽然都比较琐碎,而且没什么技术含量,但却是很多入门的 Android 开发者容易忽略的问题。希望本文能帮助广大开发者,在写出好应用的同时,避免这些“坑”给应用带来不必要的损失。

来源: http://www.cnblogs.com/smilefortoday/p/4022144.html

签名和包名version Nameversion Code相关推荐

  1. [工具]获取keystore签名,APK签名和包名

    在接大厂MSDK的时候,因为签名的问题,影响了接SDK登录的进程,为了避免这个错误和重复操作:打开cmd输入命令来查看keystore的签名和apk和签名以及包名,因此写了个简单工具.之前有学过Win ...

  2. 一个项目如何编译多个不同签名、包名、资源等,的apk?

    简介 如题所示!本篇文章就是为了解决这种问题.方便打包和运行的时候能做到无需手动替换配置,即可打包想要的apk.打包的时候,只需选一下想打哪种配置的apk就OK啦. (^o^)/~ 先来看,有需求如下 ...

  3. 在一个项目编译多个不同签名、包名、资源实现apk换皮

    简介 如题所示!本篇文章就是为了解决这种问题.方便打包和运行的时候能做到无需手动替换配置,即可打包想要的apk. 先来看,有需求如下: 同一个项目 不同的apk图标 不同的服务器域名 不同的包名 不同 ...

  4. 一个项目如何编译多个不同签名,包名,资源等

    简介 如题所示!本篇文章就是为了解决这种问题.方便打包和运行的时候能做到无需手动替换配置,即可打包想要的apk.打包的时候,只需选一下想打哪种配置的apk就OK啦. (^o^)/~ 先来看,有需求如下 ...

  5. android 多包名apk,一个项目如何编译多个不同签名、包名、资源等,的apk?

    4 其他需要注意的事项 如果您在清单文件AndroidManifest.xml中,有那种以包名开头命名的那种.因为如果包名都改了,有些也需要动态的改变.可以用${applicationId}代替.在打 ...

  6. 微信申请 包名和签名

    开发环境: window 7 Egret Engine 5.0.14 Egret support 5.0.12 Eclipse 一  申请微信移动应用 二  怎么获取Android包名 三  怎么获取 ...

  7. Android开发时包名、签名、渠道和版本号的易坑点(转)

    本文中总结一下 Android 开发中容易被忽视的一些注意事项吧: 一.谨慎选择包名 包名 (Package Name) 就相当于一款应用在户口本上登记的名字,是系统用来区分不同应用的字段.重复的包名 ...

  8. Correct the classpath of your application so that it contains a single, compatible version of 包名

    ** Correct the classpath of your application so that it contains a single, compatible version of 包名 ...

  9. uniApp APP端 支付/分享 微信开放平台的Android 包名签名的坑

    在开放平台配置好包名和签名后是会"立即生效" 网上看2种解决方法能立即生效 1.微信重新登录 2.卸载微信重新安装 原因:当你在你的APP上使用微信登录/分享/支付等,微信客户端会 ...

最新文章

  1. 第十三周项目二-动物这样叫(3)
  2. 安装开源项目 MultiType (基于 RecyclerView)出现的各种问题 -- 自己的第一篇博客...
  3. C语言的指针函数与函数指针
  4. python获取控制台输出_Python | 用Python获取Windows控制台输出
  5. Android之gallery 常见2种使用方法和3D效果总结
  6. droid sans字体_2019年免费可商用字体大全(附打包下载)
  7. Redis 更新(set) key值 会重置过期时间问题
  8. 截取usb数据包,控制usb设备----Relay设备
  9. 无人机计算机模拟飞行,学习无人机,怎么安装无人机模拟器?
  10. 安卓加密软件_教你用手机NFC模拟加密门禁卡
  11. matlab的开方算法_常见算法的MATLAB实现
  12. 1534 棋子游戏(博弈)
  13. 使用iToolab UnlockGo 删除iPhone/iPad上的各种锁
  14. PDF文件添加水印怎么添加?分享两种加水印方法
  15. 【Java】设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。
  16. 刚刚:魅族PANDAER妙磁背甲让iPhone 13满血,《原神》稳定60帧
  17. 条件if语句的多种写法
  18. 【第11天】SQL进阶-索引的创建、删除(SQL 小虚竹)
  19. 总有人会偷看你的朋友圈
  20. 程序员只能吃青春饭?3条晋升之路帮你摆脱程序员中年魔咒!

热门文章

  1. 学习通WEB前端开发概述
  2. 设置服务器虚拟机定时开机,windows系统开机设置VMware虚拟机自动启动虚拟机项目...
  3. android系统锁屏详解【android锁屏解析二】
  4. Maya Arnold渲染:自发光设置
  5. Python高级--城市气候与海洋距离关系的研究
  6. LiLi USB Creator 便携的 轻松上手使用的Linux安装助手工具
  7. excel乘法公式怎么输入_EXCEL函数公式大全利用IF函数ISNONTEXT函数提示输入数据自动计算...
  8. oracle-同义词
  9. tcp服务器制作,用telnet来测试你自己写的TCP服务器
  10. 程序员的收入现状,工作1-5年。上海