У меня есть приложение для Android, в котором есть два варианта: базовый и продвинутый. The Basic уже находится в AppStore, с именем пакета формы com.domain.something. Я хотел бы опубликовать второй как com.domain.something.advanced. Является ли это возможным? Или это факт, что второй - это подпакет первого, что вызовет проблемы?Соглашение об именовании пакетов Android
ответ
Да, это возможно и не вызовет никаких проблем в Play Маркете.
Для получения дополнительной информации о настройке аромата продукта для вашей «продвинутой» версии вы хотите прочитать руководство Configure Build Variants. Вы можете использовать applicationIdSuffix
в своих типах сборки или вкусах продукта, чтобы установить суффикс вашего идентификатора приложения для этого конкретного варианта.
Ваш build.gradle будет в конечном итоге выглядеть примерно так:
android {
defaultConfig {
applicationId "com.domain.something"
}
buildTypes {...}
productFlavors {
basic {...}
advanced {
applicationIdSuffix ".advanced"
}
}
}
Вы можете затем программно проверить вкус продукта с генерируемым BuildConfig
класса, или поставить свой код для версии advanced
advanced
в продукте источник-источник аромата (/src/advanced/java
, /src/advanced/res
, и т.п.).
Если мы используем 'advanced { applicationIdSuffix" .advanced " }' и создаем подписанный apk, который выйдет с пакетом name> 'applicationId + applicationIdSuffix' я прав? –
@Charuka это правильно. Когда вы создаете подписанный APK в Android Studio, вы можете выбрать вкус продукта, который хотите использовать, или если вы используете командную строку gradle, вы можете указать вкус продукта, используя соответствующее имя задачи (например, 'assembleAdvancedRelease'). Все APK, использующие аромат 'basic', по-прежнему будут иметь регулярный' applicationId' без '.advanced' в конце. –
благодарит за использование +1 от меня –
- 1. Соглашение об именовании пакетов Android
- 2. Соглашение об именовании пакетов
- 3. Есть ли общее соглашение об именовании пакетов?
- 4. Соглашение об именовании структуры пакета?
- 5. Соглашение об именовании методов
- 6. Угловое соглашение об именовании
- 7. Соглашение об именовании Microsoft
- 8. Соглашение об именовании проектов
- 9. Соглашение об именовании интерфейса
- 10. Соглашение об именовании F #
- 11. Соглашение об именовании имущества
- 12. Соглашение об именовании Laravel
- 13. Соглашение об именовании контроллера
- 14. Соглашение об именовании студийного устройства Android
- 15. android drawble соглашение об именовании папки
- 16. Соглашение об именовании интерфейса Java
- 17. соглашение об именовании пользовательских размеров?
- 18. css menu Соглашение об именовании
- 19. Соглашение об именовании документов FXML
- 20. Соглашение об именовании последовательности Python
- 21. Соглашение об именовании Microsoft VB.NET
- 22. Соглашение об именовании ключей Intent
- 23. Соглашение об именовании C# SqlCommand
- 24. Что такое соглашение об именовании пакетов Java EE?
- 25. Единичное тестирование упаковки Соглашение об именовании
- 26. Альтернативное соглашение об именах пакетов для Android
- 27. Соглашение об именовании для контроллеров в mvc3
- 28. Оптимальное соглашение об именовании расширенного класса?
- 29. Соглашение об именовании Cakephp для таблицы
- 30. Соглашение об именовании, когда стандартные коллекции typedef
Возможно, и именно так вам нужно это делать, если все те приложения из одного и того же издателя, иерархия путей полезны в этом случае, чтобы распознать их. –
Если вам нужно очистить больше com.wad. games.advanced для имени пакета указывает приложение games.advanced, созданное программистом/принадлежащим wad.com –