我可以为Manifest文件包提供动态占位符吗?

时间:2018-01-31 09:48:27

标签: android

我可以为Manifest文件包提供动态占位符吗?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.india.hello"  //Package name is static 
    android:installLocation="internalOnly" >

我们可以将包com.india.hello更改为动态值,例如${ApplicationId}

1 个答案:

答案 0 :(得分:1)

包名称应用程序ID 之间存在差异。

使用AndroidManifest.xml中的package属性

  • 作为生成资源ID为的根(R.java文件)
  • 作为解析相对组件名称的根(例如.MainActivity

您可以在gradle构建脚本中指定applicationId。这会覆盖上面解释的package属性,但不会影响最初从中导出的值。这就是您每次在构建脚本中更改应用程序ID时都不必更改代码的原因。

即。您可以在com.example.android中生成类,但您的应用安装为com.example.android.debug或其他。

通常,您需要引用应用程序ID。这可以在清单${applicationId}中访问,您可以使用它,例如生成内容提供商权限,例如${applicationId}.fileprovider

所以

  

我可以为Manifest文件包提供动态占位符吗?

不,你不想。

  

我们可以将软件包com.india.hello更改为动态值

您可以在构建脚本中为不同的产品风格提供不同的应用程序ID。可以在同一设备上安装多个应用程序,所有这些应用程序都来自一个具有单个程序包名称的项目。