Нужно очистить проект после изменения макетов в Android Studio

Когда я изменяю небольшую вещь в файлах макета XML, таких как maxLength TextInputEditText мне нужно очистить проект, чтобы сменить AS-пикап.

Структура папок res:

Рез
- макет
- чертежи
-...

Больше нет подпапок. AS 3.1.1, Gradle 4.6. Я попытался добавить это в gradle:

sourceSets {
    main.res.srcDirs =  [
                         'src/main/res/anim',
                         'src/main/res/color',
                         'src/main/res/drawable',
                         'src/main/res/drawable-hdpi',
                         'src/main/res/drawable-mdpi',
                         'src/main/res/drawable-xhdpi',
                         'src/main/res/drawable-xxhdpi',
                         'src/main/res/drawable-xxxhdpi',
                         'src/main/res/menu',
                         'src/main/res/mipmap-dpi',
                         'src/main/res/mipmap-hdpi',
                         'src/main/res/mipmap-mdpi',
                         'src/main/res/mipmap-xhdpi',
                         'src/main/res/mipmap-xxhdpi',
                         'src/main/res/mipmap-xxxhdpi',
                         'src/main/res/raw',
                         'src/main/res/values',
                         'src/main/res/values-land',
                         'src/main/res/values-large',
                         'src/main/res/values-v21',
                         'src/main/res/valuesw820dp',
                         'src/main/res/xml',
                         'src/main/res/layout',
                         'src/main/res']
}

enter image description here

Есть ли способ предотвратить очистку проекта каждый раз, когда изменения вступают в силу?

Поэтому всякий раз, когда я делаю изменения в файлах XML и запускаю приложение, я должен увидеть изменения, но каждый раз я должен очищать проект и его раздражать.

Ответ 1

Прежде всего, вам нужно создать свою дополнительную папку ресурсов рядом с папкой res вместо создания внутри нее. Затем попробуйте сделать XML следующим образом:

sourceSets{
     main  {
         manifest.srcFile 'src/main/AndroidManifest.xml'
         java.srcDirs = ['src/main/java', '.apt_generated']
         aidl.srcDirs = ['src/main/aidl', '.apt_generated']
         res.srcDirs = [
            'src/main/res',
            'src/main/test',
            'src/main/login',
            'src/main/main',
            'src/main/includes'
        ]
    }
}

Примечание. Ваша дополнительная папка ресурсов изменит эффект без очистки проекта.

Ответ 2

Я не думаю, что вам нужно каждый раз очищать проект. Для некоторых незначительных изменений вам даже не нужно снова запускать приложение, просто щелкнув по мгновенному прогону, он будет автоматически перетаскивать изменения непосредственно в текущую активность.

Также есть ли какая-то особая причина, по которой вы добавляете пути к градиенту? AFAIK, вам нужно сделать это, только когда вы измените пути и установите их на что-то другое. В вашем случае пути находятся по умолчанию, поэтому я не вижу причин для этого. Попробуйте удалить это из градиента и включить мгновенный запуск.

Эти ссылки должны помочь:

https://developer.android.com/studio/run/#instant-run https://developer.android.com/studio/write/add-resources

Ответ 3

Нет необходимости чистить каждый раз после изменения в файле макета xml, вам просто нужно обновить макет, щелкнув синий значок на правой стороне вашего раздела предварительного просмотра, как показано на рисунке ниже. в том, что есть свойство с именем Force Refresh Layout. нажмите на это, и ваш макет будет обновлен. enter image description here

Ответ 4

Вы можете попробовать включить функцию INTANT RUN в Android Studio. Это сработало для меня.

Если вы используете MAC, перейдите в "Настройки", "Поиск мгновенного запуска" и установите флажок "Включить" в правом окне.

После включения вместо запуска вы можете перейти в RUN и нажать " Применить изменения".

Ответ 5

Обновите Android Studio до версии 3.1.3, решите мою проблему

Загрузить последнюю версию 3.1.3

или что вы можете сделать, это нажать эту кнопку информации, а затем обновить макет, решив проблему

enter image description here