Android手机(或市场)如何识别应用程序

时间:2012-02-24 09:18:33

标签: android android-manifest google-play

我正在开发一个Android应用程序。在将其发布到市场之前,我有一个疑问 Android手机如何识别应用程序?
清单文件中有2个字段

 package="test.mobile"

android:label="App Name"

如果2个应用程序具有相同的程序包,但名称不同,那么我可以将它们安装在同一设备上吗?
如果2个应用程序名称相同但包装不同,那么? 请帮助。

2 个答案:

答案 0 :(得分:4)

来自http://blog.javia.org/android-package-name/

  

应用程序包在Android Market上也是独一无二的   不能是市场上具有相同应用程序包的两个应用程序。

     

另一方面,两个独立的开发人员可以   使用相同的应用程序包创建两个不同的应用程当然   不是两个应用程序都可以在市场上托管 - 市场会拒绝   第二个是由于“市场上独特的应用程序包名称”   规则。

     

因此,与不可预见的第三方的应用程序包冲突   应用程序是可能的,这就是为什么建议使用Java   应用程序的包名称约定(“com.mydomain.myapp”)   包名称,因为它避免了冲突。

我认为可以安全地假设两个同名的应用程序没问题。 :)应用程序包名称是唯一标识符。但是,我也从未在应用程序商店中看到过两个名称完全相同的应用程序,因此Android可能会让您与众不同。

如果您有apk,那么如果它具有相同的命名空间,则无法安装它。有时在android开发过程中,我收到一个错误,告诉我一个带有包标识符的应用程序com.tclayson.whatever已安装并指示我卸载。我假设它还检查签名密钥是否匹配。

但是,如果您的apk具有唯一ID并且名称相同,那么这很好。我之前已经安装了相同名称的应用程序(再次在开发过程中)。

答案 1 :(得分:2)

当您在市场中看到应用程序网址时使用包名称,您将在网址中清楚地看到包名称。

例如https://market.android.com/details?id=com.skype.raider 您可以在其中看到应用程序ID是包名称(com.skype.raider)