2016-03-01 4 views
0

Я переношу с Eclipse на Android Studio. В моей реализации Eclipse я использовал ant из командной строки для запуска очень настроенного файла build.xml. Я хотел бы воспроизвести ту же функциональность с Android Studio и создать процесс сборки, который я мог бы запустить из командной строки.Force gradle для создания apk

я узнал, что Gradle можно запустить из командной строки, и считают, что если я типа

./gradlew assembleRelease

, APK будет произведено, но только если исходный файл изменилось.

Как я могу заставить его производить apk, даже если источники не изменились?

+2

Сделать это очистить проект первой. Это заставит перестроить промежуточные продукты и будет производить APK. Это действительно не имеет никакого отношения к «исходным файлам», а скорее к «промежуточным объектам», и они получают регенерацию только тогда, когда «исходные файлы изменены», если вы понимаете, что я говорю :) – Shark

+0

@Shark Спасибо, что работает в командной строке. Я считаю, что для этого могу поставить две строки в моем сценарии bash. Сделайте это ответом, и я приму это. – NickT

+0

Достаточно честно, сделано :) Рад помочь. – Shark

ответ

1

Для достижения этого или, вернее, силы регенерации промежуточных файлов, вы должны сначала очистить проект.

Уловка, согласно моему комментарию, что промежуточные объекты регенерируются только тогда, когда исходные файлы были изменены. APK восстанавливается только тогда, когда в промежуточных файлах произошли изменения.

Таким образом, правильное, хотя обходной путь, чтобы сделать это было бы

1) очистить проект первого

2), а затем запустить сборку из командной строки

Поскольку файлы посредников будут быть удалены и регенерированы, APK следует производить каждый раз.

Комментарий Я ВЕ является:

Make it clean the project first. That will force rebuilding the intermediates, and will produce an APK. It really has nothing to do with source files changed but rather intermediary objects changed, and those get re-generated only when source files changed if you understand what I'm saying :)

Смежные вопросы