2011-06-21 156 views
4

我们在AndroidManifest.xml中声明的软件包名称是应用程序的唯一标识。为避免命名冲突,我们通常在此软件包名称中使用域名,例如“com.google。*”。如果是这种情况,则无法避免其他人恶意使用我的域名在其包名中。假设我使用的是“com.google.myapp”,即使我没有为Google构建应用程序,也是完全有效的软件包名称。假设我的应用程序包名称为“com.mycompany.myapp”,我无法阻止其他人在该应用程序中使用相同的包名称。Android清单软件包名称

这是我应该担心的问题吗?这似乎是Android的本质,无法阻止。

+0

我已经为您的问题添加了'java'标记,因为这不是特别的Android问题。它实际上是Java软件包命名的方式。 – Squonk

回答

4

不,没有办法阻止其他人使用相同的软件包名称。

但是,软件包名称与用于对软件包进行签名的证书相结合:如果有人试图在现有软件包上安装恶意命名的软件包,则需要使用完全相同的证书。如果他们不使用完全相同的证书,则操作系统将拒绝安装,恶意软件包将无法访问原始软件包的数据。实际上,这涉及安全问题。

+0

我认为这是我的担心,比方说,我在清单中使用名称“com.mycompany.myapp”,并将我的应用上传到市场。如果已经有另一个具有相同名称的应用,市场会否拒绝我的上传?如果是这样,我将被迫仅仅因为其他人使用我的名字而改变我的包名。似乎没有办法阻止这一点。那么,将“com.mycompany.myapp”更改为“com.mycompany.mobile.myapp”并不是什么大不了的事情,但让其他人在我的域名中使用我的域名有点尴尬。 – Kelobyte

+0

非常真实:我从来没有尝试过,但我假设市场会拒绝你的应用程序,如果你试图复制包的名称。 – Femi

相关问题