When you opt in to sharing your project context with Gemini in Android Studio,
you can control which files specifically from the codebase are shared using
.aiexclude files. AI features in Android Studio cannot access files outside of
the current project and the version control roots attached to it. With this in
mind, you can place .aiexclude files anywhere within the project and its VCS
roots to control which files AI features are allowed to access.
Much like a .gitignore file, an .aiexclude file tracks files that shouldn't
be shared with Gemini in Android Studio, including the chat experience as well
as AI features that operate in the editor, like code completion. An
.aiexclude file operates on files at or below the directory that contains it.

How to write .aiexclude files
An .aiexclude file follow the same syntax as a
.gitignore file.
Examples
Here are example .aiexclude file configurations:
- The pattern
KEYSblocks all files called "KEYS" with no file extension at or below the directory that contains the.aiexcludefile.
KEYS
- The pattern
KEYS.*blocks all files called "KEYS" with any file extension at or below the directory that contains the .aiexcludefile.
KEYS.*
- The pattern
*.ktblocks all Kotlin files, or files with the extension.kt, at or below the directory that contains the.aiexcludefile.
*.kt
- The pattern
/*.ktblocks all.ktfiles in the.aiexcludedirectory, but not below.
/*.kt
- The pattern
my/sensitive/dir/blocks all files in themy/sensitive/dirdirectory and below. The file path is relative to the directory that contains the.aiexcludefile.
my/sensitive/dir/
- The pattern
my/sensitive/dir/**/.txtblocks all.txtfiles at or below the directorymy/sensitive/dir/.
my/sensitive/dir/**/.txt
- The pattern
my/sensitive/dir/*.txtblocks all.txtfiles in the directorymy/sensitive/dir, but not in sub-directories.
my/sensitive/dir/*.txt