website icon indicating copy to clipboard operation
website copied to clipboard

Missing documentation tip on constraints for installation of Android Studio for "flutter doctor" to identify its version

Open ericdescabanes opened this issue 4 months ago • 1 comments

Page URL

https://docs.flutter.dev/get-started/install/linux/android/

Page source

https://github.com/flutter/website/tree/main/src/content/get-started/install/linux/android.md

Describe the problem

The Android Studio documentation suggests that it can be installed anywhere one likes on Linux. And in practice it might be the case. But i've just spent long hours trying to figure out why "flutter doctor" could not identify the version of my installation of android-studio.

I refused to install a tool in the user account where i do my development. It turns out that the only other place that "flutter doctor" will find android-studio is under /opt/android-studio. But that is not enough. It won't identify its version if there is an additional level of hierarchy under that. So for instance, do not install it under /opt/android-studio/2025.1.1 or /opt/android-studio/current.

Also i wanted "flutter doctor" to work out of the box, without a prior execution of android-studio, because it should be independent of the sequence in which the tools are run by me or any other user on the Linux station. It turns out that i had to run 2 additional commands before "flutter doctor" would finally identify the version number of Android Studio.

flutter config --android-studio-dir=/opt/android-studio

echo "/opt/android-studio" | tr -d '\n' > ~/.cache/Google/$(cat /opt/android-studio/product-info.json | jq -r '.dataDirectoryName')/.home

I'm assuming that "flutter doctor" would not flag the version identification as an issue if it weren't important.

The 2nd command would not be required if it were performed by flutter config.

The constraints on /opt/android-studio could be slackened if an env var were introduced for ANDROID_STUDIO_ROOT or, as on MacOS, the flutter doctor checked the contents of prduct-info.json.

A new user cannot be expected to guess or reverse engineer this.

Expected fix

Add a tip under https://docs.flutter.dev/get-started/install/linux/android#configure-the-android-toolchain-in-android-studio

On Linux, for "flutter doctor" (see https://docs.flutter.dev/get-started/install/linux/android#check-your-development-setup) to identify the installed version of Android Studio, it must either be installed in /opt/android-studio or in your $HOME. If it is installed in /opt/android-studio, it must not have an additional hierarchy level such as /opt/android-studio/2025.1.1 or /opt/android-studio/current.

Until "flutter doctor" is fixed, you have to run these two commands before running "flutter doctor":

flutter config --android-studio-dir=/opt/android-studio

echo "/opt/android-studio" | tr -d '\n' > ~/.cache/Google/$(cat /opt/android-studio/product-info.json | jq -r '.dataDirectoryName')/.home

Additional context

No response

I would like to fix this problem.

  • [ ] I will try and fix this problem on docs.flutter.dev.

ericdescabanes avatar Aug 22 '25 13:08 ericdescabanes

Good advice/info. thx

sfshaza2 avatar Sep 08 '25 18:09 sfshaza2