【问题标题】:how does an android phone(or market) recognize an app安卓手机(或市场)如何识别应用程序
【发布时间】:2012-02-24 09:18:33
【问题描述】:
我正在开发一个安卓应用程序。在将其投放市场之前,我有一个疑问。
安卓手机如何识别应用程序?
清单文件中有2个字段
package="test.mobile"
和
android:label="App Name"
如果 2 个应用程序具有相同的包,但名称不同,那么我可以将它们都安装在同一设备上吗?
如果两个应用程序名称相同但包不同,那么呢?
请帮忙。
【问题讨论】:
标签:
android
android-manifest
google-play
【解决方案1】:
来自http://blog.javia.org/android-package-name/
应用程序包在 Android 市场上也是独一无二的——那里
不能是市场上具有相同应用程序包的两个应用程序。
另一方面,两个独立的开发人员可以
使用相同的应用程序包创建两个不同的应用程序。当然
并非两个应用程序都可以托管在 Market 上 - Market 会拒绝
第二个是由于“跨市场的唯一应用程序包名称”
规则。
因此应用程序包与不可预见的第三方发生冲突
应用程序是可能的,这就是为什么建议使用 Java
应用程序的包名称约定(“com.mydomain.myapp”)
包名,因为它可以避免冲突。
我认为可以安全地假设两个具有相同名称的应用程序都可以。 :) 应用程序包名称是唯一标识符。不过,我也从来没有在应用商店看到过两个同名的应用,所以可能是安卓喜欢你区分。
如果您有 apk,那么如果它具有相同的命名空间,则无法安装它。有时在 android 开发过程中,我收到一个错误,告诉我一个带有包标识符 com.tclayson.whatever 的应用程序已经安装,它指示我卸载。我假设它还会检查签名密钥以查看它们是否匹配。
但是,如果您的 apk 具有唯一的 id 并且名称相同,那很好。我以前并排安装了同名的应用程序(同样在开发过程中)。