Android 更改包名和applicationId之间有什么区别

Android 更改包名和applicationId之间有什么区别,android,Android,将包名与applicationId更改为最终apk之间有什么区别 我知道在保留源代码方面有所不同,但假设我得到了一些包名为a.b.c.d的应用程序。 构建的apk文件有什么不同 如果我将a.b.c.d重命名为q.w.e.r,然后构建apk文件 vs 使用q.w.e.r将applicationId更改为gradle 包名仅用于组织代码 另一方面,应用程序ID用于在Play Store中识别您的应用程序。仅当您计划基于相同代码生成另一个应用程序时,才会更改此选项 从文档(): 在Android St

将包名与applicationId更改为最终apk之间有什么区别

我知道在保留源代码方面有所不同,但假设我得到了一些包名为a.b.c.d的应用程序。 构建的apk文件有什么不同

  • 如果我将a.b.c.d重命名为q.w.e.r,然后构建apk文件
  • vs

  • 使用q.w.e.r将applicationId更改为gradle

  • 包名仅用于组织代码

    另一方面,应用程序ID用于在Play Store中识别您的应用程序。仅当您计划基于相同代码生成另一个应用程序时,才会更改此选项

    从文档():

    在Android Studio中创建新项目时,applicationId 与安装过程中选择的Java样式包名称完全匹配。 但是,应用程序ID和包名称是独立的 除此之外还有其他问题。您可以更改代码的包名(您的 它不会影响应用程序ID,反之亦然 反之亦然(不过,您也不应该更改应用程序ID一次) 你可以发布你的应用程序)。但是,更改包名还有其他原因 您应该注意的后果,因此请参阅关于 修改包名


    一旦你在Apple Store上传应用程序,你就不能更改该项目的应用程序ID,如果你想做的话,那么谷歌Play Store就被视为一个不同的应用程序。


    对于包名,您可以根据需要更改它。

    应用程序id主要用于:

    • 更改用于测试的应用程序ID

    • 更改生成变体的应用程序ID

    在这种情况下,应将每个构建变量定义为单独的 产品风味。对于productFlavors{}块内的每个味道, 您可以重新定义applicationId属性,也可以改为附加 使用applicationIdSuffix将段转换为默认应用程序ID,如下所示 如图所示:

    每个Android应用程序都有一个看起来像Java的唯一应用程序ID 包名称,例如com.example.myapp。此ID唯一标识 在设备上和Google Play Store中安装你的应用程序。如果你想上传 应用程序的新版本、应用程序ID(以及您需要的证书) 如果更改密码,则必须与原始APK相同 应用程序ID,Google Play Store将APK视为一个完整的应用程序 不同的应用程序。所以一旦你发布了你的应用程序,你就不应该改变 应用程序ID

    程序包名称为:

    尽管项目的包名与应用程序ID匹配 默认情况下,您可以更改它。然而,如果你想改变你的 包名称,请注意包名称(由您的 项目目录结构)应始终与包属性匹配 在AndroidManifest.xml文件中,如下所示:

    Android构建工具将package属性用于两件事:

    1-它将此名称用作应用程序生成的R.java的命名空间 班级

    示例:使用上述清单,R类将 com.example.myapp.R

    2-它使用它来解析任何相对类名 在清单文件中声明的

    示例:使用上述 清单,声明为已解析为的活动 com.example.myapp.main活动


    为什么懒惰到谷歌>我并不懒惰,我只是需要别人的经验来应对我第一眼看不到的影响。我的计划是在应用程序之间保持相同的程序包名称,并且在发布到应用商店之前只更改applicationId。但是我看不出这种过程是否会有一些隐藏的问题。所以如果我有一些模板,当我克隆该模板时,我只需要更改applicationId,对吗?这就是我在发布到play store之前需要做的所有事情?我可以在我的应用程序中保持相同的包名吗?@Johns完全正确。唯一使应用程序独一无二的是applicationId