id = "android-studio" name = "Android Studio" homepage = "https://developer.android.com/studio" description = "The official Integrated Development Environment (IDE) for Android app development." icon = "theSVG:android-studio" # The command-line launcher Android Studio installs (`studio` on macOS via # Tools > Create Command-line Launcher, bin/studio.sh on Linux). executables = ["studio", "studio.sh"] [dotfiles] # https://developer.android.com/studio/troubleshoot, "Directories" — the # configuration directory (idea.config.path) is # %APPDATA%\Google\AndroidStudioVERSION on Windows, # ~/Library/Application Support/Google/AndroidStudioVERSION on macOS and # ~/.config/Google/AndroidStudioVERSION on Linux: one directory under three # names, which is [appData]. The same page says to "Replace AndroidStudio with # the product name, which is AndroidStudio for Stable releases, or # AndroidStudioPreview for RC and Canary releases", and VERSION with the # version — both are part of the directory name, hence the glob, which covers # AndroidStudioPreview too. The system directory (~/Library/Caches, # %LOCALAPPDATA%, ~/.cache) and the logs sit outside this tree and never come # along. paths = ["[appData]/Google/AndroidStudio*/"] # Same page: on Windows and macOS idea.plugins.path is `plugins` inside the # configuration directory, while on Linux it is ~/.local/share and out of this # tree already. Downloaded plugin jars are installs, not settings. exclude = [ "[appData]/Google/AndroidStudio*/plugins/", ] # Android Studio is "based on the powerful code editor and developer tools from # IntelliJ IDEA" (https://developer.android.com/studio/intro), so it inherits # the IntelliJ Platform's Password Safe: # https://www.jetbrains.com/help/idea/reference-ide-settings-password-safe.html # — passwords go to the native keychain by default, but the "In KeePass" option # stores them in the database file c.kdbx inside the configuration directory. # Whenever it exists it is the credential store, and it sits inside a directory # `paths` already covers, so a consumer has to let secret win over the # directory. secret = ["[appData]/Google/AndroidStudio*/c.kdbx"] # No machine_lines: options/, keymaps/, colors/ and codestyles/ hold the # preferences a developer wants on every machine, and picking machine-local # keys out of the IDE's XML would be guesswork.