Answers:
来自Dianne Hackborn:
无法改变的事情:
其中最明显,最明显的是“清单包名称”,即您在其AndroidManifest.xml中为应用程序提供的唯一名称。该名称使用Java语言样式的命名约定,Internet域名所有权有助于避免名称冲突。例如,由于Google拥有“ google.com”域,因此我们所有应用程序的清单软件包名称都应以“ com.google”开头。为了避免与其他开发人员发生冲突,对开发人员而言,遵循此约定很重要。
一旦以清单包名称发布了应用程序,这将永远是应用程序的唯一标识。切换到其他名称将导致一个全新的应用程序,该应用程序不能作为现有应用程序的更新安装。
关于这里无法更改的更多内容
关于您对来自Google Play的URL的问题,在那里定义的包已链接到您在AndroidManifest.xml文件中拥有的应用程序的完全合格的包。点击此处,详细了解Google Play的链接格式。
不,您不能只是更改它,而必须将新软件包作为新应用上传。看一下Google的应用Talk
,其名称已更改为Hangouts
,但程序包名称仍为com.google.android.talk
。因为这不是可行的:)干杯。
据我所知,您可以做的是“退休”您以前的应用程序,并将所有用户重定向到您的新应用程序。Google不支持此过程(tsk ... tsk ...),但是可以通过四个步骤来实现:
更改当前应用程序以向用户显示有关升级的消息,并将他们重定向到新的应用程序列表。全屏消息可能会包含一些友好的文本。该消息可以理想地远程触发,但也可以使用截止日期。(但是那对您来说将是一个艰难的截止日期,所以要小心……;)
发行经过修改的旧版应用程序作为升级,可能还会发布一些功能升级/错误修复,以“吸引交易”给用户。仍然不能保证所有用户都会升级,但是大多数用户可能会升级。
使用更新的程序包名称准备新应用程序,然后将其上传到商店,然后在旧应用程序中触发消息(或者,如果您选择,请等到消息过期)。
在Play商店中取消发布旧应用,以免进行任何新安装。取消发布应用程序并不意味着已经安装该应用程序的用户将无法再访问它,但是至少潜在的新用户不会在市场上找到它。
不理想,可能会给用户带来烦恼,有时由于应用程序的状态/可能性甚至无法实现。但是,由于Google别无选择,这是将旧应用程序的用户迁移到“新”应用程序的唯一方法(即使它不是真的)。更不用说如果您无法访问旧应用程序的源代码和代码签名详细信息,那么您所能做的就是希望他的用户会注意到新应用程序...
如果有人想出了更好的方法:请告诉。
不可以,除非您可以将其作为新应用发布到Play商店中,否则不能更改软件包名称:
一旦以清单包名称发布了应用程序,这将永远是应用程序的唯一标识。切换到其他名称将导致一个全新的应用程序,该应用程序不能作为现有应用程序的更新安装。Android手册也在此处进行了确认:
警告:发布应用程序后,您将无法更改程序包名称。程序包名称定义了您的应用程序的身份,因此,如果您更改它的名称,则它将被视为另一个应用程序,并且以前版本的用户无法更新到新版本。如果您可以将应用程序的新版本发布为一个全新的实体,则可以这样做-当然,只需从Play商店中删除旧应用程序(如果需要),然后使用不同的程序包名称发布新的应用程序。
永远不会,因为包名称是您应用程序的唯一名称标识符,您就无法这样做.....
完整指南: https : //developer.android.com/studio/build/application-id.html
根据Android官方博客:https : //android-developers.googleblog.com/2011/06/things-that-cannot-change.html
我们可以这样说:
如果清单软件包名称已更改,则新应用程序将与旧应用程序一起安装,因此它们都同时存在于用户的设备上。
如果签名证书更改,则尝试将新应用程序安装到设备上将失败,直到卸载了旧版本。
按照Google App Update检查清单:https : //support.google.com/googleplay/android-developer/answer/113476?hl=zh-CN
更新您的应用
准备您的APK
当您准备对APK进行更改时,请确保同时更新应用的版本代码,以便现有用户可以收到您的更新。
使用以下清单来确保您的新APK已准备就绪,可以更新现有用户:
要验证您的APK使用的证书与以前的版本相同,您可以在两个APK上运行以下命令并比较结果:
$ jarsigner -verify -verbose -certs my_application.apk
如果结果相同,则说明您使用的是相同的密钥,并准备继续。如果结果不同,则需要使用正确的密钥对APK重新签名。
了解有关签署应用程序的更多信息
上载APK 一旦APK就绪,就可以创建新版本。