请选择 进入手机版 | 继续访问电脑版

雨林木风

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4|回复: 0

设置应用ID

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
31374
发表于 2021-2-22 21:28:45 | 显示全部楼层 |阅读模式
  每个 Android 使用均有一个独一的使用 ID,像 Java 软件包名称相似,比方 com.example.myapp。此 ID 可能正在筑筑上和 Google Play 店肆中对您的使用实行独一标识。假如您要上传新版本的使用,使用 ID(以及用于为其具名的证书)务必与原始 APK 类似。假如您更改了使用 ID,Google Play 店肆会将该 APK 视为齐备差异的使用。是以,颁布您的使用后,
  当您正在 Android Studio 中创筑新项目时,applicationId与您正在配置时间采用的 Java 样式软件包名称齐备同等。然而,除了这一点,使用 ID 和软件包名称互相无闭。您可能更改代码的软件包名称(代码定名空间),这不会影响使用 ID,反之亦然(但同样,颁布您的使用后,不得更改使用 ID)。然而,更改软件包名称会形成其他影响,您应理解这一点,是以请参阅相闭怎么更改软件包名称的局限。
  固然使用 ID 看起来就像古代的 Java 软件包名称相似,但使用 ID 的定名轨则限度性更强少少:
  提神:使用 ID 过去直接相干到代码的软件包名称;以是,有些 Android API 会正在其伎俩名称和参数名称中运用“package name”一词,但这实质上是您的使用 ID。比方,Context.getPackageName()伎俩会返回您的使用 ID。无论何时都不须要正在使用代码以外分享代码简直实软件包名称。
  提神:假如您运用的是WebView,没关系商量正在您的使用 ID 中将您的软件包名称用作前缀;不然,您也许会遭遇如题目 211768中所述的题目。
  当您为使用修筑 APK 时,修筑器材会运用build.gradle文献的defaultConfig块中界说的使用 ID 标帜 APK(如下所示)。然而,假如您要创筑差异版本的使用,让其正在 Google Play 店肆中显示为孤独的详情(如“free”和“pro”版本),就须要创筑孤独的修筑变体,这些变体各自具有差异的使用 ID。
  正在这种景况下,每个修筑变体应界说为孤独的产物变种。对待productFlavors块中的每个变种,您可能从新界说applicationId属性,也可能运用applicationIdSuffix正在默认的使用 ID 上追加一段,如下所示:
  您也可能依据本身的修筑类型运用applicationIdSuffix追加一段,如下所示:
  因为 Gradle 会正在产物变种后面使用修筑类型摆设,是以“free debug”修筑变体的使用 ID 现正在是“com.example.myapp.free.debug”。假如您期望统一筑筑上同时具有调试版本和颁布版本,这会很有效,由于两个 APK 不行具有类似的使用 ID。
  请提神,具有差异使用 ID 的 APK 正在 Google Play 店肆中会被视为差异的使用。以是假如您思要改用类似的使用详情分发众个 APK,每个 APK 以差异筑筑摆设(如 API 级别)为对象,那么您务必对每个修筑变体运用类似的使用 ID,但为每个 APK 供应差异的versionCode。如需理解详情,请参阅众 APK 救援。
  提神:为了与以前的 SDK 器材兼容,假如您未正在build.gradle文献中界说applicationId属性,修筑器材会将AndroidManifest.xml文献中的软件包名称用作使用 ID。正在这种景况下,重构您的软件包名称也会更改您的使用 ID。
  提示:假如须要正在清单文献中援用使用 ID,您可能正在任何清单属性中运用${applicationId}占位符。正在修筑时间,Gradle 会将此标帜更换为实质的使用 ID。如需理解详情,请参阅将修筑变量注入清单。
  默认景况下,项宗旨软件包名称与使用 ID 配合,但您可能更改软件包名称。然而,假如您要更改软件包名称,须要提神的是,软件包名称(由项目目次构造界说)应永远与AndroidManifest.xml文献中的package属性配合,如下所示:
  是以,package属性中的名称应永远与项宗旨本原软件包名称配合,本原软件包中保管着您的 Activity 及其他使用代码。当然,您的项目中可能包罗子软件包,然则这些文献务必从package属性导入运用定名空间的R.java类,况且清单中声明的任何使用组件都务必增添缺失的子软件包名称(或者运用齐备限制软件包名称)。
  假如您要齐备重构您的软件包名称,请确保也更新package属性。只须您运用 Android Studio 的器材重定名和重构您的软件包,那么这些属性就会自愿连结同步。(假如它们未连结同步,您的使用代码将无法解析R类,由于它不再位于统一软件包中,而且清单无法识别您的 Activity 或其他组件。)
  您务必永远正在项宗旨主AndroidManifest.xml文献中指定package属性。假如您有其他清单文献(如产物变种或修筑类型的清单文献),请提神,优先级最高的清单文献供应的软件包名称永远用于最终团结的清单。如需理解详情,请参阅团结众个清单文献。
  尚有一点须要理解:虽然清单package和 GradleapplicationId可能具有差异的名称,但修筑器材会正在修筑竣事时将使用 ID 复制到 APK 的最终清单文献中。以是,假如您正在修筑后检讨AndroidManifest.xml文献,发明package属性发作更改就家常便饭了。实质上,Google Play 店肆和 Android 平台会查看package属性来识别您的使用。以是,修筑编制行使原始值(配置R类的定名空间并解析清单类名称)后,它会舍弃该值并将其更换为使用 ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|appname
快速回复 返回顶部 返回列表