Многие из включенных приложений не могут (или, по крайней мере, не могут быть построены) с помощью SDK, поскольку они зависят (ed) от неэкспортированных функций, которые только «видны» при сборке системы. Я не уверен, что электронная почта все еще в этой категории, но это было в дни кекса.
Есть три возможных обходных пути. Лучше всего переписать те части приложения, чтобы вместо этого использовать функциональность, которая экспортируется в SDK, и, следовательно, довольно стабильную.
Следующим шагом является использование отражения, чтобы собрать недостающие фрагменты во время выполнения.
Последнее - создать пустые классы для необходимых непубличных платформ в вашем проекте. Этого достаточно, чтобы позволить программе скомпилироваться, и во время выполнения они отклоняются из-за коллизий имен со скрытой функциональностью системы, поэтому в конечном итоге вы используете реальные классы, а не фиктивные.
Нужно сделать приложение с помощью системы сборки платформы, а не SDK.