versionCode всегда перезаписывается до -1

Я создал новый проект в студии Android, и одним из первых действий, которые я сделал, было перемещение атрибутов versionCode и versionName из build.gradle в файл манифеста для удобства. Затем я получаю это странное предупреждение:

Это значение versionCode (1) не используется; всегда записывается значением, указанным в скрипте сборки Gradle (-1)

Это начало появляться и в моих старых проектах, так что это явно не проблема конкретного проекта. Что-то могло произойти, когда я обновился до 0.8.14 и обновил инструменты сборки, но я понятия не имею, что. Любые идеи о том, как это исправить?


person Longi    schedule 11.11.2014    source источник


Ответы (3)


Согласно официальному документу, gradle переопределяет< /strong> некоторые значения в AndroidManifest.

Значение по умолчанию в объекте DSL для versionCode равно -1.

Затем, когда gradle создает ваш apk, переопределяет значение в манифесте и присваивает versionCode=-1

person Gabriele Mariotti    schedule 11.11.2014
comment
забыл упомянуть, что IDE не давала мне предупреждения перед обновлением, но я думаю, что тогда я сохраню атрибуты в скрипте сборки - person Longi; 11.11.2014

Вы уже объяснили источник этой проблемы: вы не можете переместить информацию о версиях в манифест в проектах на основе градиента. Вы должны использовать build.grade для кода версии и названия.

person Nathan Walters    schedule 11.11.2014

Ну, вероятно, система сборки Gradle ожидает, что вы сохраните там versionCode и versionName, и если он отсутствует, он не знает, что делать. В любом случае рекомендуется хранить эти значения в файле build.gradle, а не в AndroidManifest.

person vandus    schedule 11.11.2014