在Android代码中以编程方式访问清单占位符值

在Android代码中以编程方式访问清单占位符值,android,android-manifest,placeholder,Android,Android Manifest,Placeholder,我使用了一些明显的占位符值。根据我们的新需求,我必须以编程方式从代码中访问这些值。有什么办法可以实现吗 manifestPlaceholders = [ host_name: "dev.com", ] OneSignal要求将manifestplaceholder键manifestApplicationId设置为您的applicationId(您的包名) 这可以通过在buildTypes中设置它来实现,如下所示 buildTypes { debug { default

我使用了一些明显的占位符值。根据我们的新需求,我必须以编程方式从代码中访问这些值。有什么办法可以实现吗

manifestPlaceholders = [
    host_name: "dev.com",
]

OneSignal要求将
manifestplaceholder
manifestApplicationId
设置为您的
applicationId
(您的包名)

这可以通过在
buildTypes
中设置它来实现,如下所示

buildTypes {
   debug {
      defaultConfig {
         manifestPlaceholders = [manifestApplicationId          : "${applicationId}",
                                 onesignal_app_id               : "11111111-1111-1111-1111-111111111111",
                                 onesignal_google_project_number: "111111111"]
       }
   }

   release {
      defaultConfig {
         manifestPlaceholders = [manifestApplicationId          : "${applicationId}",
                                 onesignal_app_id               : "22222222-2222-2222-2222-222222222222",
                                 onesignal_google_project_number: "222222222"]
      }
   }
}

更新:
OneSignal SDK的3.3.0及更新版本不再需要
清单应用ID

我找不到通过编程方式访问清单占位符值的方法。我必须在buildConfigField

中输入相同的值,然后使用
buildConfigField
在Gradle中定义相同的值,然后通过
BuildConfig
引用它们。