`
幸福甜蜜
  • 浏览: 1424 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Android开发中容易被忽视的一些注意事项

阅读更多
一、谨慎选择包名
包名 (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 来区分渠道。例如:

<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 开发者容易忽略的问题。希望本文能帮助广大开发者,在写出好应用的同时,避免这些“坑”给应用带来不必要的损失。
分享到:
评论

相关推荐

    AndroidStudio使用svn第一次提交,忽略文件注意事项

    Android Studio 中使用 SVN 的第一次提交注意事项 Android Studio 作为一款功能强大的集成开发环境,在使用 SVN 进行版本控制时,需要特别注意第一次提交时的忽略文件问题。本文将对第一次提交时需要忽略的文件...

    阿里android开发手册.pdf

    #### 四、其他注意事项 - **版本控制与更新**:文档中提到的版本号、制定团队、更新日期等信息表明了该手册是一个持续改进的过程。这些信息对于跟踪文档的变化和确保所有开发者使用最新版本非常重要。 - **附录内容...

    Android开发环境搭建

    **注意事项**: - Android应用程序主要采用Java语言编写,因此需要使用JDK中的`javac`编译器将源代码编译为标准的Java字节码(.class文件)。这些字节码文件随后会被转化为Android平台可执行的.dex文件格式。 ##### 2....

    2016海康威视android官方SDK开发包以及开发文档

    五、性能优化与注意事项 1. 网络优化:考虑到监控视频的流量较大,开发者需要注意网络条件下的数据传输优化,如使用合适的视频编码格式、控制帧率等。 2. 性能监控:在实际应用中,需关注CPU和内存的使用情况,防止...

    Android开发编码规范

    ### Android开发编码规范 #### 1. 引言 ##### 1.1 目的 本文档旨在为Android开发人员提供一套系统化的编码规范指南,帮助团队统一代码风格,提高代码质量和可维护性。通过遵循这些规则,可以有效减少代码中的潜在...

    【android开发】混淆打包proguard模板

    六、注意事项 1. **库依赖**:混淆时需确保第三方库的公开API不受影响,可能需要添加对应的保留规则。 2. **调试混淆问题**:启用`-printmapping`和`-whyareyoukeeping`选项,可以帮助调试混淆问题。 3. **性能考虑*...

    Android开发教程_第一章

    - **注意事项**:对于受企业防火墙限制的计算机,访问该网站可能会遇到问题。 #### 六、总结 通过本章的学习,开发者已经掌握了搭建Android开发环境的基本步骤,包括必要的软件安装和配置。下一章将深入探讨如何...

    Android开发 - 布局

    在Android开发中,布局(Layout)是构建用户界面的核心元素,它定义了应用程序屏幕上各个组件的排列方式和相互关系。本篇文章将深入探讨Android布局的相关知识点,帮助开发者更好地理解和运用。 首先,Android提供...

    JSON文件解释(android开发必备)gson-1.6

    在Android开发中,Gson库是Google提供的一个强大的Java库,用于将Java对象转换为JSON字符串,以及将JSON数据转换回等效的Java对象。这个“gson-1.6”版本是Gson的一个旧版,但仍然是许多项目中的依赖。 **Gson库...

    androidStudio导入工程.txt

    在Android开发过程中,使用Android Studio作为主要集成开发环境(IDE)时,经常会遇到需要导入现有项目的场景。为了确保项目能够顺利运行,开发者需要注意一些关键配置与步骤。本文将详细介绍在Android Studio中导入...

    阿里巴巴Java+Android开发手册

    《阿里巴巴Java+Android开发手册》是一份集合了阿里巴巴集团在Java和Android开发领域的最佳实践和规范的综合指南。这份手册旨在帮助开发者提升代码质量和开发效率,确保软件项目的稳定性和可维护性。 首先,我们来...

    集成apk注意事项1

    在Android开发过程中,集成外部APK到项目中是一项常见的任务,但如果不注意一些关键细节,可能会引发各种问题。以下是对标题“集成apk注意事项1”和描述中提到的几点重要注意事项的详细解释: 1. **检查APK版本**:...

    Android中java和js交互

    在Android应用开发中,有时我们需要实现Java代码与...通过分析这个项目,你应该能更好地理解在Android中实现Java和JavaScript交互的具体步骤和注意事项。记住,安全性和性能优化始终是开发过程中不可忽视的重要方面。

    Lame4AndroidDemo-As工程

    通常,这样的文章会涵盖如何将Lame4AndroidDemo集成到Android项目中,包括设置步骤、使用方法、注意事项以及可能遇到的问题和解决方案。通过这篇文章,开发者可以学习如何在Android应用中处理音频,将PCM原始数据...

    Android 接入第三方登录 微信登录 微信分享 demo

    在Android应用开发中,接入第...通过以上步骤和注意事项,开发者可以在Android应用中成功集成微信登录和分享功能,为用户提供更丰富的交互体验。实际开发中,开发者还需要根据具体的应用场景和用户需求进行定制和优化。

    android 定时关机 重启

    4. 开发注意事项: - 由于涉及到系统级操作,务必确保代码的安全性和稳定性,错误的操作可能导致系统不稳定甚至崩溃。 - 使用这些功能时,必须遵守Android开发者政策,尤其是关于获取敏感权限的部分。 - 在用户...

    64位版AndroidLogger.zip

    《64位版AndroidLogger:优化Android日志查看体验》 在移动开发领域,尤其是在Android平台上,调试和...通过熟练掌握和运用这款插件,开发者可以更好地应对Android开发中的各种挑战,实现更快更准确的问题定位和修复。

    Android滑动吸附悬停

    在Android应用开发中,"滑动吸附悬停"是一种常见的交互设计,主要用于提供更好的用户体验。这一功能常见于滚动视图,如RecyclerView、ViewPager以及TabLayout和MagicIndicator等组件。接下来,我们将深入探讨这个...

    Android开发实现摇一摇的功能Java源码打包下载

    在Android应用开发中,"摇一摇"功能是一种常见的用户交互方式,用于触发特定的事件或功能。这个功能通常通过监听设备的加速度传感器来实现。在这个Java源码包中,我们有两个关键文件:`ShakeListener.java` 和 `...

Global site tag (gtag.js) - Google Analytics