Доступ к манифестным значениям заполнителей программно в коде Android - PullRequest
0 голосов
/ 25 октября 2019

Я использую некоторые значения заполнителя манифеста. Согласно нашему новому требованию, я должен программно получить доступ к этим значениям из моего кода. Есть ли способ добиться этого?

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

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

OneSignal требует, чтобы для клавиши manifestPlaceholders 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"]
      }
   }
}

Обновление: manifestApplicationId больше не требуется для версии 3.3.0 и новее из OneSignal SDK.

0 голосов
/ 05 ноября 2019

Я не смог найти способ программного доступа к значениям заполнителя манифеста. Я должен был поставить те же значения в buildConfigField

...