Різниця між чистим проектом та проектом відновлення в андроїд-студії


74

У чому різниця між Clean Projectта Rebuild Project(в Android Studio)?

  • У мене була проблема з R fileabout res ids, тому я змінив розширення файлу з gifна, pngа потім [моя збірка не вдалася.]
  • Я знайшов рішення, щоб Rebuild Project. Це підказує моє запитання вище.

Відповіді:


81

Чистий просто видаляє всі артефакти збірки. Відновлення виконує чистку з подальшою збіркою вашого проекту.

EDIT # 2 Це правда на 100%. Зверніться до цього, щоб детально продемонструвати його правильність.


26
Я думаю, що це неправда. В обох випадках я бачу такі записи в журналі. Мені здається, вони однакові. 22:54:38 Виконання завдань: [clean,: app: generateDebugSources
,:

8
Різниці між ними також не видно. +1 до @vogella за те, що він перехопив його переді мною.
SMBiggs

2
Тоді це, мабуть, нещодавня зміна правил gradle для проектів Android. Раніше він робив те, що я описав.
Ларрі Шифер,

3
Щойно перевірили, що це нещодавня зміна Android Studio та налаштування gradle. "Перебудувати" насправді не створює файл .apk, спершу потрібно спробувати запустити або експортувати як випуск. І "Clean" в Android Studio виконує ті самі завдання, що і "Rebuild": Clean: Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources] Rebuild:Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources]
Ларрі Шифер,

39
Тепер тричі перевірено. Два варіанти меню, які роблять абсолютно те саме! Дякуємо, Google, за те, що Android ускладнює (безпека роботи)!
SMBiggs

9

Те, що я пережив,

Коли ви виконуєте чистку, він видаляє двійкові файли всередині папок збірки та відкладає побудову їх знову до наступного запуску.

Коли ви переробляєте, виконується очищення та відновлення цих файлів у папці збірки , які знову відбудовуються під час наступного запуску. Він не відновлює APK !! Що насправді дивно.

так:

Clean видаляє вміст папок збірки.

Відновити видаляє вміст папки збірки. І будує кілька бінарних файлів; не включаючи APK!

До речі, я використовую Android studio 2.0 Preview 7.


1
Я просто запустив чистоту, він очистив усі модулі, а потім побудував усі. Це зайняло кілька хвилин, хоча очікувалося просто видалити папки для сміття, які повинні зайняти приблизно 10 секунд :(
дозрівав

1
@riper Є 2 папки збірки (двійкові файли), одна всередині модуля програми, інша для цілого додатка, обидві вони очищаються та регенеруються після очищення, тому потрібен певний час, якщо gradle працює в мережі, він перевірить бібліотеки тощо ..
MBH
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.