142

我想知道更改 Google Play 上 Android 应用程序的实际包名称在技术上是否可行,而不是是否容易。我所说的包名称是指将显示在 URL 中的名称。请,谁能告诉我为什么这是/不可能?谢谢!

4

7 回答 7

144

来自黛安哈克伯恩:

无法改变的事情:

其中最明显和最明显的是“清单包名称”,这是您在其 AndroidManifest.xml 中为应用程序提供的唯一名称。该名称使用 Java 语言风格的命名约定,互联网域所有权有助于避免名称冲突。例如,由于 Google 拥有“google.com”域,因此我们所有应用程序的清单包名称都应以“com.google”开头。为避免与其他开发人员发生冲突,开发人员必须遵守此约定。

一旦您在其清单包名称下发布您的应用程序,这将永远是应用程序的唯一身份。切换到不同的名称会生成一个全新的应用程序,它不能作为现有应用程序的更新安装。

更多关于您无法在此处更改的内容

关于您对来自 Google Play 的 URL 的问题,在那里定义的包链接到您在AndroidManifest.xml文件中拥有的应用程序的完全限定包。有关 Google Play 链接格式的更多信息,请点击此处

于 2013-07-10T23:00:47.560 回答
83

不,你不能只是改变它,你必须上传一个新的包作为一个新的应用程序。看看谷歌的app Talk,名字改成了Hangouts,包名还是com.google.android.talk。因为它不可行:) 干杯。

于 2013-07-10T23:04:01.727 回答
23

据我所知,您可以做的就是“淘汰”您以前的应用程序并将所有用户重定向到您的新应用程序。Google 不支持此过程(tsk...tsk...),但可以分四个步骤执行:

  1. 更改当前应用程序以向用户显示有关升级的消息并将他们重定向到新的应用程序列表。可能全屏消息会带有一些友好的文本。理想情况下,可以远程触发此消息,但也可以使用截止日期。(但那对你来说将是一个艰难的最后期限,所以要小心......;))

  2. 将修改后的旧应用程序作为升级发布,可能还会进行一些功能升级/错误修复,以向用户“增加交易”。仍然不能保证所有用户都会升级,但可能大多数用户都会升级。

  3. 使用更新的包名称准备您的新应用程序并将其上传到商店,然后在旧应用程序中触发消息(或者只是等到它过期,如果这是您的选择)。

  4. 在 Play 商店中取消发布旧应用程序以避免任何新安装。取消发布应用程序并不意味着已经安装它的用户将无法再访问它,但至少潜在的新用户不会在市场上找到它。

不理想,可能会令用户烦恼,有时甚至由于应用程序的状态/可能性而无法实施。但是由于谷歌让我们别无选择,这是将旧应用程序的用户迁移到“新”应用程序的唯一方法(即使它不是真正的新应用程序)。更不用说,如果您无法访问旧应用程序的源代码和代码签名详细信息,那么您所能做的就是希望他的用户会注意到新应用程序......

如果有人想出一个更好的方法:请告诉。

于 2014-12-12T23:23:04.050 回答
7

不,您不能更改包名称,除非您可以在 Play 商店中将其作为新应用发布:

一旦您在其清单包名称下发布您的应用程序,这将永远是应用程序的唯一身份。切换到不同的名称会生成一个全新的应用程序,它不能作为现有应用程序的更新安装。Android手册在这里也确认了这一点:

警告:一旦您发布了应用程序,您就无法更改包名称。包名定义了你的应用程序的身份,所以如果你改变它,那么它被认为是一个不同的应用程序,以前版本的用户不能更新到新版本。如果您可以将应用程序的新版本发布为一个全新的实体,您当然可以这样做 - 只需从 Play 商店中删除旧应用程序(如果需要)并发布具有不同包名称的新应用程序。

于 2017-01-04T21:19:31.537 回答
2

如果您指的是 com.example.app,不,我理解您不能将其视为新应用程序

于 2013-07-10T22:56:28.667 回答
2

完整指南: https ://developer.android.com/studio/build/application-id.html

根据 Android 官方博客: https ://android-developers.googleblog.com/2011/06/things-that-c​​annot-change.html

我们可以这样说:

  • 如果清单包名称已更改,则新应用程序将与旧应用程序一起安装,因此它们会同时在用户的设备上共存。

  • 如果签名证书发生更改,尝试将新应用程序安装到设备上将失败,直到旧版本被卸载。

根据谷歌应用更新清单: https ://support.google.com/googleplay/android-developer/answer/113476?hl=en

更新您的应用

准备您的 APK

当您准备好对 APK 进行更改时,请务必同时更新应用的版本代码,以便现有用户能够收到您的更新。

使用以下清单确保您的新 APK 已准备好更新现有用户:

  • 更新后的 APK 包名需要与当前版本一致。
  • 版本代码需要大于当前版本。了解有关对应用程序进行版本控制的更多信息。
  • 更新后的 APK 需要使用与当前版本相同的签名进行签名。

要验证您的 APK 是否使用与之前版本相同的认证,您可以在两个 APK 上运行以下命令并比较结果:

$ jarsigner -verify -verbose -certs my_application.apk

如果结果相同,则您使用的是相同的密钥并准备好继续。如果结果不同,您将需要使用正确的密钥对 APK 重新签名。

了解有关签署您的应用程序的更多信息

上传您的 APK 一旦您的 APK 准备就绪,您就可以创建一个新版本。

于 2018-01-23T06:31:16.887 回答
2

从来没有,你不能这样做,因为包名是你的应用程序的唯一名称标识符.....

于 2017-07-23T13:45:37.957 回答