我正在开发一个Android应用程序。在将其发布到市场之前,我有一个疑问
Android手机如何识别应用程序?
清单文件中有2个字段
package="test.mobile"
和
android:label="App Name"
如果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)