Android Studio: этот файл не является частью проекта, но проект успешно собран - PullRequest
1 голос
/ 24 апреля 2019

У меня странная проблема, которая внезапно появилась в андроид студии.Я создал новый файл cpp и включил его в Android.mk.Затем я синхронизировал проект.Тем не менее, Android Studio по-прежнему жалуется, что файл не является частью проекта и что мне нужно синхронизировать, НО весь проект собирается успешно.

Аналогично, если я удалю один из других старых файлов из Android.mkчто он не жаловался, и повторно синхронизирует, а затем пытается построить проект, как и ожидалось, сборка завершается неудачно, но android studio НЕ жалуется, что этот файл больше не является частью проекта.

Так или иначе, внезапноРедактор Android Studio не может правильно определить, какие файлы были синхронизированы и являются частью проекта, но во время компиляции все работает, как ожидалось.

Кто-нибудь знает, как решить эту надоедливую проблему?Я попытался очистить проект, сделать недействительными кэши / перезапустить, а также обновить Android Studio без удачи (AS версия 3.4).

Ответы [ 3 ]

2 голосов
/ 25 апреля 2019

У меня была похожая проблема. Как и вы, я все перепробовал.

  • Отменить и перезапустить: не работает
  • Удаление папок вручную: .gradle .idea .ndkbuild и т. Д. Не работает
  • Очистить, восстановить, связать файлы C ++: не работает

Мне очень помогло то, что я изменил версию NDK. Я скомпилировал, затем получил ошибку компиляции (не важно, потому что это была неправильная версия NDK в любом случае), затем я вернулся к исходному NDK. Похоже, это решило проблему, но вернулось снова.

Моим решением было сбросить Android Studio до заводских настроек. Если вы работаете в Linux, вы можете начать с удаления этих папок:

rm -rf ~/.android

rm -rf ~/.AndroidStudio3.4

Затем вы загружаете и запускаете свою Android Studio и ничего не импортируете из любого места.

Я подозреваю, что проблема была вызвана одним из установленных плагинов.

Может быть хорошей идеей время от времени создавать резервные копии этих двух папок и при необходимости перезагружать их.

РЕДАКТИРОВАТЬ: Кажется, что моя проблема сохраняется после вышеупомянутого решения после добавления дополнительных файлов .cpp. Увидев это, я искал, откуда появилось это всплывающее окно. Из этого следует, что всплывающее окно «Этот файл не является частью проекта ...» выталкивается из ndk-build. (Имя класса: NewCppSourceNotificationProvider - StaleCppProjectNotificationPanel). Что я пробовал и что сработало до сих пор; Я использовал Android Studio 3.5 Canary13 с версией NDK r19c (стабильная версия). Я надеюсь, что это поможет вам.

0 голосов
/ 26 июня 2019

исправить это обновлением моего com.android.tools.build:gradle'

0 голосов
/ 20 июня 2019

У меня похожая проблема, это может быть проблема совместимости версии Gradle и версии плагина Gradle, потому что мое решение заменяет старую конфигурацию

// build.gradle
classpath 'com.android.tools.build:gradle:3.2.1'
...
// gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

на следующую, изменив версию Gradle с *От 1004 * до 4.10.1.

// build.gradle
classpath 'com.android.tools.build:gradle:3.2.1'
...
// gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

После этого Android Studio может индексировать и отслеживать мои новые файлы cpp в проекте.

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