Open distante opened 3 years ago
Same problem here with Mac M1. I have to open Android studio manually.
You can put this in your .zshrc
or .bashrc
as a workaround:
androidStudioToolboxBase="${HOME}/Library/Application\ Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0"
androidStudioToolboxVersion=$(ls ${androidStudioToolboxBase})
export CAPACITOR_ANDROID_STUDIO_PATH=${androidStudioToolboxBase}/${androidStudioToolboxVersion}/Android\ Studio.app/
It would be better if that location is checked as well by default on Apple hardware.
You can put this in your
.zshrc
or.bashrc
as a workaround:androidStudioToolboxBase="${HOME}/Library/Application\ Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0" androidStudioToolboxVersion=$(ls ${androidStudioToolboxBase}) export CAPACITOR_ANDROID_STUDIO_PATH=${androidStudioToolboxBase}/${androidStudioToolboxVersion}/Android\ Studio.app/
It would be better if that location is checked as well by default on Apple hardware.
I use MacOS and I had to remove quotes from the first line for it to work. Thanks for sharing!
Different form of "not work" - I get Finder windows?
I've got my JetBrains products installed via Toolbox. If I manually open Studio and then open the project's android
directory my project runs. But of course if I just use npx cap open android
then I get Attempted to open Android Studio at: /Applications/Android Studio.app
and nothing happens.
I can't easily set the androidStudioToolboxVersion
as suggested by @butaminas because Toolbox has installed multiple versions in the androidStudioToolboxBase
directory.
So, I set up Toolbox to generate scripts and set the env var in my .zshrc:
to point at the Toolbox's script:
export CAPACITOR_ANDROID_STUDIO_PATH="/Users/waynestidolph/Library/Application Support/JetBrains/Toolbox/scripts/studio"
Now, from a terminal command line I can simply execute $CAPACITOR_ANDROID_STUDIO_PATH
and Studio launches nicely. But, when using npx cap open android
from my project's root rather than getting Studio, I get one or two Finder windows launched - the Finder windows are on my project's android directory and on my project's root directory.
I'm a Mac-newbie (M1 Mac Mini, macOS Monterey 12.4), so maybe I'm missing something obvious ...
If I manually open Studio and then open the project's android directory my project runs.
If you go to the toolbox app and look into the settings, you find an option "Generate shell scripts", you can define a path or use the default path. The toolbox app will generate a binary to open android studio there, then simply use the path to the studio binary as CAPACITOR_ANDROID_STUDIO_PATH. I've been doing this on linux and mac.
If you go to the toolbox app and look into the settings, you find an option "Generate shell scripts", you can define a path or use the default path. The toolbox app will generate a binary to open android studio there, then simply use the path to the studio binary as CAPACITOR_ANDROID_STUDIO_PATH. I've been doing this on linux and mac.
Thank you. But it seems cap open android
is not working for me with this setup even though everything seems to be correctly in place:
I have this issue too
@gabrielmaldi try to set the CAPACITOR_ANDROID_STUDIO_PATH variable to the full path to the binary, this should work
Same error using export CAPACITOR_ANDROID_STUDIO_PATH=/Users/gabrielmaldi/.local/bin/studio
:
In Windows it wont start...
ERROR: The system was unable to find the specified registry key or value.
App • ⚠️ Cannot determine path to IDE executable
Please set quasar.config.js > bin > windowsAndroidStudio with the escaped path to your studio64.exe
Example: 'C:\\Program Files\\Android\\Android Studio\\bin\\studio64.exe'
Jetbrains Toolbox now seems to helpfully place files here on macOS:
$HOME/Applications/JetBrains\ Toolbox/Android\ Studio.app/Contents/MacOS/jetbrains-toolbox-launcher
So there's no need to mess with identifying the version and such anymore.
If it's as simple as running this script, I definitely think that capacitor should automatically check this path as well.
I'm using this in .zshrc
export CAPACITOR_ANDROID_STUDIO_PATH="$HOME/Applications/Android Studio.app/Contents/MacOS/studio"
Working on Mac M2! Hope it helps! 🙏🏼
Hi I'm solve this problem and use .zshrc
first use belog command
whereis studio.sh
then copy path for me /opt/android-studio/bin/studio.sh
then paste below command in .zshrc file
export CAPACITOR_ANDROID_STUDIO_PATH="/opt/android-studio/bin/studio.sh"
then source .zshrc and finish :)
Different form of "not work" - I get Finder windows?
I've got my JetBrains products installed via Toolbox. If I manually open Studio and then open the project's
android
directory my project runs. But of course if I just usenpx cap open android
then I getAttempted to open Android Studio at: /Applications/Android Studio.app
and nothing happens.I can't easily set the
androidStudioToolboxVersion
as suggested by @butaminas because Toolbox has installed multiple versions in theandroidStudioToolboxBase
directory.So, I set up Toolbox to generate scripts and set the env var in my
.zshrc:
to point at the Toolbox's script:export CAPACITOR_ANDROID_STUDIO_PATH="/Users/waynestidolph/Library/Application Support/JetBrains/Toolbox/scripts/studio"
Now, from a terminal command line I can simply execute
$CAPACITOR_ANDROID_STUDIO_PATH
and Studio launches nicely. But, when usingnpx cap open android
from my project's root rather than getting Studio, I get one or two Finder windows launched - the Finder windows are on my project's android directory and on my project's root directory.I'm a Mac-newbie (M1 Mac Mini, macOS Monterey 12.4), so maybe I'm missing something obvious ...
If I manually open Studio and then open the project's android directory my project runs.
I works!! export CAPACITOR_ANDROID_STUDIO_PATH="$HOME/.local/share/JetBrains/Toolbox/scripts/studio
Different form of "not work" - I get Finder windows?
I've got my JetBrains products installed via Toolbox. If I manually open Studio and then open the project's
android
directory my project runs. But of course if I just usenpx cap open android
then I getAttempted to open Android Studio at: /Applications/Android Studio.app
and nothing happens.I can't easily set the
androidStudioToolboxVersion
as suggested by @butaminas because Toolbox has installed multiple versions in theandroidStudioToolboxBase
directory.So, I set up Toolbox to generate scripts and set the env var in my
.zshrc:
to point at the Toolbox's script:export CAPACITOR_ANDROID_STUDIO_PATH="/Users/waynestidolph/Library/Application Support/JetBrains/Toolbox/scripts/studio"
Now, from a terminal command line I can simply execute
$CAPACITOR_ANDROID_STUDIO_PATH
and Studio launches nicely. But, when usingnpx cap open android
from my project's root rather than getting Studio, I get one or two Finder windows launched - the Finder windows are on my project's android directory and on my project's root directory.I'm a Mac-newbie (M1 Mac Mini, macOS Monterey 12.4), so maybe I'm missing something obvious ...
If I manually open Studio and then open the project's android directory my project runs.
It works!! export CAPACITOR_ANDROID_STUDIO_PATH="$HOME/.local/share/JetBrains/Toolbox/scripts/studio
I just recently moved my development environment from Windows to macOS, and found myself running into this same issue...
I have JetBrains Toolbox installed and running with all default options, nothing fancy there. checking the Android Studio settings inside Toolbox, I see the following:
..so I added the following line to my ~/.zshrc
:
export CAPACITOR_ANDROID_STUDIO_PATH="$HOME/Applications/Android Studio.app"
..and now nx run <my_app>:open:android
works perfectly. hopefully this helps a bit.
with that said, I feel like this would be resolved by simply making this switch
statement condition in determineAndroidStudioPath
check both /Applications/Android Studio.app
and $HOME/Applications/Android Studio.app
... unless there's any reason to not do so?
Bug Report
Capacitor Version
Platform(s)
MacOs
Current Behavior
JetBrains ToolBox has integrated shell scripts that point to the latest Android studio version installed. (see here). This is done because each release incorporates the build ID on the path, so a hard coded path will always break after a version update.
Setting the path of the generated
studio.sh
script intoCAPACITOR_ANDROID_STUDIO_PATH
fails with:Expected Behavior
We could be able to give this script to open capacitor projects.
Code Reproduction
--
Other Technical Details
The generated script looks like this: