#android #android-gradle-plugin #android-manifest
#Android #android-gradle-плагин #android-манифест
Вопрос:
Привет, я использую вкусы продукта, чтобы иметь платную и бесплатную версии моего приложения. Мне удалось сделать все, что было необходимо. Однако название приложения в laucher кажется одинаковым для обоих вкусов. Вот как я это делаю.
productFlavors {
free {
applicationId "com.my.app"
versionCode 11
versionName "1.11"
resValue "string", "app_name", "App free"
}
pro {
applicationId "com.my.app.pro"
versionCode 1
versionName "1.0"
resValue "string", "app_name", "App pro"
}
}
Затем в моем файле манифеста у меня есть следующая строка
android:label="@string/app_name" >
Ранее у меня была строка app_name в моем строковом файле ресурсов со значением «App free». Я удалил эту строку из файла и вместо этого добавил строки в блок вкусов продукта, как указано выше.
Проблема в том, что как в платной, так и в бесплатной версии название приложения в лаунчере отображается как «App free», хотя в pro оно должно быть «App pro».
Имя отображается прямо в списке приложений в настройках или во время установки. Не меняется только это имя под значком в лаунчере.
Я попытался перезагрузить свой телефон, но тщетно. Может кто-нибудь, пожалуйста, помогите. Я использую Nexus 5 Android 6. Спасибо!!
Комментарии:
1. На каком лаунчере вы его тестируете?
2. @KamranAhmed По умолчанию
3. Вы пытались присвоить каждому вкусу другой идентификатор приложения?
4. @Christopher Да, извините, это не упомянуто выше, но у обоих разные идентификаторы приложений
5. Можете ли вы проверить объединенные значения.xml-файл? Вы можете найти их там: app/build/intermediates/res/merged/<вкус>/<buildtype>/values/values.xml Отличается ли строка app_name для каждого варианта?
Ответ №1:
Вы можете попробовать запустить следующую команду в своем терминале:
adb shell am broadcast -a "android.intent.action.PACKAGE_CHANGED" -d "package:com.your.package"
Замена com.your.package
на имя пакета вашего приложения. Если это не сработает, вы можете попробовать добавить к нему более конкретные детали, как указано здесь, в документации.
Если этот трюк сработает, вы можете отправлять одну и ту же трансляцию всякий раз, когда меняется вкус вашего приложения, чтобы приложения запуска могли знать, когда им нужно обновить данные вашего приложения.
Комментарии:
1. Спасибо за ответ, Камран, проверю это.