#android #manifest
#Android #манифест
Вопрос:
В настоящее время я работаю над приложением, которое имеет несколько вариантов сборки, а также несколько разновидностей продукта, и в каждом варианте сборки суффикс имени пакета отличается. Я хочу использовать $ {applicationId}, чтобы у меня было несколько вариантов сборки, доступных на одном устройстве.
<provider
android:name="${applicationId}.providers.LocatorSearchSuggestionProvider"
android:authorities="${applicationId}.providers.LocatorSearchSuggestionProvider" />
Я пробовал следующее, и это не работает. Я также пробовал packageName. Также в файлах build.gradle у меня есть applicationId, указанный в defaultConfig.
Редактировать: в настоящее время в AndroidManifest.xml файл, в котором я получаю ошибку не удается разрешить символ ‘$ {applicationId}’. также в моем файле build.gradle я включил applicationId
android {
compileSdkVersion 19
buildToolsVersion '20.0.0'
useOldManifestMerger false
defaultConfig {
applicationId 'com.sample.android.login'
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName '1.0'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
Был бы признателен за любую помощь в этом, спасибо!!!
Комментарии:
1. Что означает «это не работает»? Вы получаете сообщение об ошибке? Если да, пожалуйста, укажите это в своем вопросе.
2. Кроме того, для всех, у кого еще была такая проблема, я пытался задать имя broadprovider и использовать $ {applicationId} в поле name. Вместо этого мне пришлось использовать его в поле полномочий и работать как шарм. Проблема исправлена!
3. у вас есть какое-либо решение?
4. Мой комментарий выше предполагает, что я допустил ошибку, используя $ {applicationId} в неправильном поле, и должен был использовать это в поле полномочий трансляции. Пожалуйста, убедитесь, что вы используете $ {applicationId} в правильном поле.
5. @ahmad вы должны добавить свои комментарии в качестве правильного ответа — я почти пропустил решение, видя, что никто на него не ответил.