【Android -知识积累】将构建变量注入清单 & manifestPlaceholders 和 gradle.properties的 概念

什么是manifestPlaceholders

在Android项目中,manifestPlaceholders允许您在AndroidManifest.xml文件中使用占位符来动态地替换参数。这些参数可以在构建时通过Gradle脚本进行配置。您可以在AndroidManifest.xml中使用占位符来设置应用程序的名称、版本号、应用程序ID等。例如,您可以在AndroidManifest.xml中设置应用程序的名称为${appName},然后在Gradle脚本中使用manifestPlaceholders来传递实际的应用程序名称。这样,您可以轻松地根据不同的构建类型或不同的渠道来更改应用程序的名称

什么是gradle.properties

gradle.properties是一个属性文件,用于存储和配置Gradle构建脚本的参数。您可以在gradle.properties文件中定义一些常量或变量,并在Gradle脚本中使用这些值。这些参数可以用于配置项目的版本号、构建类型、签名密钥等。通过在gradle.properties文件中定义这些参数,您可以在Gradle脚本中轻松地引用和使用它们,而无需硬编码这些值。

如何在AndroidManifest.xml 文件插入构建变量

下面是一个详细的代码示例,演示如何使用manifestPlaceholders和gradle.properties:

  1. 在gradle.properties文件中定义参数:
# gradle.properties

# 定义应用程序名称
appName=MyApp
  1. 在build.gradle文件中使用manifestPlaceholders传递参数到AndroidManifest.xml:
// build.gradle

android {
    
    
    // ...

    defaultConfig {
    
    
        // ...
        manifestPlaceholders = [appName: project.appName]
    }

    // ...
}
  1. 在AndroidManifest.xml中使用占位符引用参数:
<!-- AndroidManifest.xml -->

<application
    android:label="${appName}"
    android:icon="@mipmap/ic_launcher">
    <!-- ... -->
</application>

通过以上步骤,您可以将应用程序的名称设置为${appName}占位符。在构建项目时,Gradle会将gradle.properties文件中定义的appName的值替换到${appName}占位符,从而动态地配置应用程序的名称。

这是一个简单的示例,可以根据需要扩展和自定义参数,以适应更复杂的配置需求。

猜你喜欢

转载自blog.csdn.net/weixin_44002043/article/details/131559243