Есть много причин для этой ошибки.
<Button/>
, но он по-прежнему объявлен в любой операции или фрагменте .java. Лучший способ отслеживания ошибки - перестроить его довольно чисто или синхронизация, выполняющая преднамеренную ошибку.
Если это не решит вашу проблему, тогда, должно быть, должна быть какая-то ошибка или ошибка времени выполнения или возникшая ошибка из-за неправильного использования ресурсов в может быть как java, так и xml-файлом в вашем коде или дизайне, который заставляет градлу останавливаться, потому что (R) esource файл не может правильно индексировать ваши ресурсы, и вы должны признать это.
Если ваш проект запустился до того, как вы внесли изменения, изменения, которые вы внесли, и попытайтесь перестроить проект.
Он, безусловно, будет работать, поскольку изменений не будет.
Чтобы отследить точную ошибку, проверьте изменения, изменяется на меньший модуль.
Например: если вы делаете список видимым с нажатием кнопки и вставляете значения списка в адаптер, сначала проверьте, можете ли вы сделать его видимым или нет, а затем проверьте наличие ошибок адаптера.
Следующий код, расширенный с помощью time.sleep(10)
, не вызывает ошибку утверждения (безопасный порог составляет одну секунду). Это дает объяснение, почему перезагрузка не работает должным образом. Таким образом, ответ на вопрос, почему возникает ошибка утверждения, это
blockquote>
importlib.reload()
использует временную метку файла, чтобы решить о повторной компиляции кэшированного файла.Если обновление / изменение кода происходит очень быстро, кешированный и файл сценария считаются одной и той же версией, и не происходит повторной компиляции кэшированных файлов, из которых модули повторно загружаются.
import os import sys import tempfile import importlib import time # Create some module and import it dir = tempfile.TemporaryDirectory() os.mkdir(os.path.join(dir.name, 'test_package')) with open(os.path.join(dir.name, '__init__.py'), "w") as f: f.write("\n") with open(os.path.join(dir.name, 'test_package', 'some_module.py'), "w") as f: f.write("def a():\n print(\"old\")\n return 0\n") sys.path.insert(0, dir.name) from test_package import some_module # Check that imported code works as expected assert some_module.a() == 0
blockquote>time.sleep(10)
# Alter module and reload with open(os.path.join(dir.name, 'test_package', 'some_module.py'), "w") as f: f.write("def a():\n print(\"new\")\n return 1\n") importlib.reload(some_module) # Check wether modifications have been reloaded assert some_module.a() == 1 sys.path.pop(0)