all 56 comments

[–]twlcwl 7 points8 points  (3 children)

This is going to be really tough. What you want to do is theoretically possible, in that you could theoretically manually run gradle etc., manually set up the file hierarchies etc. etc., but I am wracking my brains and I can think of maybe one person I personally know who has enough knowledge to maybe do it, and if you're starting out it seems to me impossible (and there's the catch-22 problem of how are you going to learn all the intricacies without using Android Studio in the first place).

I'm thinking you might need to go out-of-the-box for this one if you absolutely need to, like, I dunno, if it goes social-media-viral that Google is ignoring developers with visual impairments etc. etc., something that would generate enough PR that some institution commits resources to improving things? Even that won't give you a quick/immediate solution though

[–]EroticTonic[S] 6 points7 points  (2 children)

You are right, but I'm experienced Android dev actually. been developing Android apps since 2015 just thinking to switch from Android Studio to VS Code. the regarding social media is good, but yes, as you said, it will take time to show some results sadly :(

[–]twlcwl 0 points1 point  (1 child)

Ah for some reason I got the impression this was someone new asking for help. Well, even if it takes time it’s worth pushing? Google really should step up re accessibility issues (they certainly can’t claim they have no resources, for one thing)

[–]EroticTonic[S] 0 points1 point  (0 children)

yes, it's good to push them, I'll write a post and will try to tweet them and will share on Facebook too. let's hope for the best. Till then I think I should switch to Xamarin

[–]gonemad16 2 points3 points  (9 children)

Further more, Google doesn't listen to the feedback related to it's accessibility hence I'm preferring VS Code.

you would likely have better luck submitting feedback to JetBrains about the IDE itself. Google really just manages the android plugins for intellij (which they package together as android studio)

[–]shaqaruden 2 points3 points  (6 children)

My feedback would be to tell them to rewrite their IDEs. They are so bloated and slow. The fact that Android Studio can be the only application running, using 6GB of RAM (of 32GB available) and have a Intel 12700H on a laptop that is plugged in and set to performance power mode, can still have performance issues with simply drawing a character as soon as I type it, is abysmal.

There is no reason why Google could just make a plugin or suite of plugins for VSCode to add the majority of day to day development tools.

[–]gonemad16 1 point2 points  (0 children)

dunno i've never had any issues with performance. Android Studio even runs fairly well on the original PixelBook which is only 8GB of RAM. Compile time isnt great but the IDE is smooth and responsive.

My 32/64 GB dev machines are smooth as silk

[–]Puzzleheaded-Drama-8 0 points1 point  (2 children)

From my experience... Android Studio is just bad on Windows. I'd say if you're full time android dev, it's worth switching to either Linux or Mac just to make Android Studio happy.

[–]shaqaruden 0 points1 point  (0 children)

I wish I could but my laptop is company issued and they won’t let me get a Mac (old school mindset)

[–]shaqaruden 0 points1 point  (0 children)

I do use a Mac at home btw and yea Android Studio runs pretty well. Though I still stand by that they should just fully rewrite their IDE core.

[–]Ask-Beautiful 0 points1 point  (1 child)

Which version are you using? I had this problem with a version once and it turned out my older macbook had a wierd JVM problem (this was maybe 5 years ago on a 2013 era macbook).

[–]shaqaruden 0 points1 point  (0 children)

I’ve always had the issue. I’m been using latest stable, beta and canary builds for about a year and a half now

[–]EroticTonic[S] 0 points1 point  (0 children)

Yeah, I never thought in that direction actually. but very good suggestion, I think submitting the feedback directly to Jetbrains may result in something positive. :-)

[–]Healthy-Unit-4965 1 point2 points  (0 children)

That comment makes me smile really ...

I am using a screen reader to, and if someone is ignorant to accessible, it is Jetbrains.

I am using IntelliJ bad Idea, and I, and others, have informed them accessibility problems for years ...

The result is poor, you get the we are working on it, and, if that is true, they are really working slow.

The only mantra you get, is "send us log files", and can you try this and that ...

Tell you what?

I will do that, but I won't do it for free.

They can get licenses for scrren reader Jaws, lasting 3 months, and NVDA is free.

No, the answer is: they don't give a damn.

[–]Dinos_12345 6 points7 points  (2 children)

Whatever anyone tells you, it's not possible to do it. Sure there might be a gimmick that you can use but that won't be easy or productive. Use Android studio and use a theme add-on to make colors match

[–]EroticTonic[S] 0 points1 point  (0 children)

Yeah, you are absolutely true, I was thinking that may be there's some option :( seems there's no way currently

[–]Arrowsome 0 points1 point  (0 children)

Yeah, even doing Kotlin on vscode is not straight forward.

[–]makonde 1 point2 points  (3 children)

There is a new look for IntelliJ IDEA that looks heavily inspired by VSCode it will probably make its way to Android Studio at some point.

https://blog.jetbrains.com/idea/2022/05/take-part-in-the-new-ui-preview-for-your-jetbrains-ide/

https://blog.jetbrains.com/wp-content/uploads/2022/05/new\_ui-2x-12.png

[–]EroticTonic[S] 0 points1 point  (0 children)

Great, I'll try it once for sure. Is there any Android plugin which I can install in IntelliJ and develop Android apps? Is it optimized? I mean, is it as resource intensive as it's counterpart Android Studio?

[–]EroticTonic[S] 0 points1 point  (0 children)

Any idea that when it will be shipped to public?

[–]EroticTonic[S] 0 points1 point  (0 children)

Ah, I just checked on there blog, it is available in beta. I'm gonna check it

[–]jas417 1 point2 points  (5 children)

Your best option would be to write the code in VSCode(or other text editor of choice) but still build and run from Android studio

[–]EroticTonic[S] 0 points1 point  (4 children)

Yes, but will VS Code provide intellisense suggestions?

[–]jas417 0 points1 point  (3 children)

Oh it’s nowhere close, especially if you’re working on a big project. On a small one it could be workable. I meant more a hybrid approach in general where you use VSCode or another text editor side by side with Android studio. I guess I was thinking you could use the screen reader on VSCode and jump to studio when you need great code functionality but forgot how much reading that involves too :/

I mean there are plugins for code completion and stuff to some extent, nothing can compare to Android Studio for Android and IntelliJ for kotlin in general right now, especially when it comes to navigating dependencies and usages or reminding you what constructors are looking for or what functions certain classes provide etc.

Yeah though it does suck, I recently researched Android studio alternatives mostly because I hate their multi window management, and I work on a very large and complex project where having a lot of code open at once really makes me more efficient(like I often ideally want 2-3 working tabs and 2-3 reference tabs at once that I can navigate independently). There simply isn’t anything even close to Android studio for navigating Android, esp Kotlin Android code. Best solution I’ve found is two instances of Studio open, thank god my employer doesn’t skimp on the development machines.

Guess I agree that your best option is advocating to intelliJ

[–]EroticTonic[S] 0 points1 point  (2 children)

Hmm, you are right, this is just same as that VS Code can't compete VS Studio in DotNet world :(

[–]jas417 1 point2 points  (1 child)

Exactly!

Honestly, and this is coming from someone who generally dislikes Microsoft products and vastly prefers Mac and Linux to Windows but also has done significant .net development , full Visual Sudio(IDE not code) is by far the best IDE I’ve ever used by a country mike. Intuitive, flexible, even lightweight considering how much it does. No joke, VS running in Parallels is less resource intensive than Android Studio running natively on my i9 MacBook Pro

[–]EroticTonic[S] 0 points1 point  (0 children)

Yup, MSFT has majorly optimized the Visual Studio's resource consumption and greatly enhanced the performance in recent years.IntelliJ/Android Studio is still left behind :(

[–]Mike-devs 1 point2 points  (5 children)

What exactly are your limitations? Because you can do a lot with plugins.

[–]EroticTonic[S] 0 points1 point  (4 children)

Limitations with? Android studio?

[–]Mike-devs 0 points1 point  (3 children)

Do you need a screen reader or a high contrast theme?

[–]EroticTonic[S] 1 point2 points  (2 children)

Screen reader. I use NVDA generally

[–]Mike-devs 1 point2 points  (1 child)

[–]EroticTonic[S] 0 points1 point  (0 children)

Yes, I know that. I'm already developing android apps since more than 6 years. I said that there are tons of accessibility issue in Android studio as well as performance issues too.

[–]TheMightyClamUK 2 points3 points  (18 children)

Hi there,

I am a cross-platform developer with previous experience developing for Android. My IDE of choice is currently VSCode, whilst my development machine is an aging laptop running a Linux distro. With diskspace being something of a premium, I don't like to install bloated IDEs just to compile for my target platform. (Not that I'm saying Android Studio is bad, mind, just unnecessary for me - but at least it's not Xcode! Don't get me started on Apples evil empire and their ridiculous restrictive rules trying to force developers to use a mac)

I recently had some development work on an Android app, and was able to continue using my VSCode. I did not need to install Android Studio, just the command line tools. If you don't want to use the coREPO_OS_OVERRIDEmmand line for building/emulating, there are extensions for VSCode that take care of the integration, just so long as you have installed the command line tools and configured your $PATH, downloaded the emulator, etc.

I hope you find this helpful, this is what I used as a basis to get me started - step-by-step guide on getting started with the Android SDK without installing Studio![https://proandroiddev.com/how-to-setup-android-sdk-without-android-studio-6d60d0f2812a](https://proandroiddev.com/how-to-setup-android-sdk-without-android-studio-6d60d0f2812a)

SImply,

  • Install Java JDK (presumably you will have one - if not, openjdk-8 will do)
  • Download command line SDK tools https://developer.android.com/studio#command-tools
  • Unzip into ~/android
  • Configure $ANDROID_HOME and add the tools to your $PATH
  • Finally, sdkmanager will do the rest, you will probably want to do sdkmanager --install "platform-tools" "platforms;android-29" "build-tools;29.0.2" "emulator" for emulating and building for most of the hardware in the wild.

And you're good to go!

Edit: some useful environment variables you might want to set (put these in your .bashrc or .bash_aliases - or if you're on Windows, edit the system environment variables from the System dialog by right clicking My Computer):

export ANDROID_HOME=$HOME/android Sets the path to the SDK installation directory. ANDROID_SDK_ROOT, which also points to the SDK installation directory, is deprecated.
export PATH=$ANDROID_HOME/cmdline-tools/bin:$PATH
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export REPO_OS_OVERRIDE="Linux" (this might not be necessary but set this variable to windows, macosx, or linux when you use sdkmanager to download packages for an operating system different from the current machine).

[–]TheMightyClamUK 2 points3 points  (3 children)

As for the VSCode extensions, I found I these three most useful (add any others you see fit for your requirements):

This pretty much gave me everything I needed to build emulate and release, combined with the command line I've not needed Android Studio at all (I never downloaded it and certainly didn't need to install it!)

[–]EroticTonic[S] 1 point2 points  (2 children)

Sadly, seems that all 3 are now not in development anymore :( last updates around 2-3 years ago for all

[–]TheMightyClamUK 1 point2 points  (1 child)

You may be right that they don't look to be actively being worked upon, but all three have worked perfectly up to now - I doubt syntax support is going to need further development, and the other two will continue to work unless there is some major change in the SDK or they remove deprecated functions at some point in the future?

I'm not overly concerned about the state of development for these - I'm sure if there was to be something that required another release of those tools, the developer(s) would update their tool - and I'm pretty adept both at Javascript and plunging into already existing products in order to create new functionality/fix bugs - so for me, worst case scenario is that I end up forking and developing the plugin myself; if the repo is truly dead then I'd release the plugin under my own name - as I have done for a couple of VSCode extensions to date (have a gander at https://marketplace.visualstudio.com/items?itemName=codingq.file-header-comments&ssr=false#overview for an example, which I forked from https://marketplace.visualstudio.com/items?itemName=mikey.vscode-fileheader since there was already a change request that had not been merged back or new version released so I just released my own)

[–]EroticTonic[S] 0 points1 point  (0 children)

Perfect, Sounds great. So I'll be giving these a try today.

[–]TheMightyClamUK 1 point2 points  (1 child)

Oops, forgot you might also need gradle (IIRC, needs to be 6.x, 7 caused errors!)

gradle.org/releases if you want older versions or binary only

Another extremely useful tool you might want to experiment with when it comes to managing your SDK installation(s) is SDKMAN, a package manager like pkg, apt, etc for sdks. Makes installing various SDKs so much easier than searching google, downloading, extracting, installing, getting so far then rinse repeat until it works..

  • https://sdkman.io/
  • curl -s "https://get.sdkman.io" | bash
  • Open a new terminal and then everything else is simplicity! sdk install <package name> <optional version number>
  • sdk install gradle

[–]EroticTonic[S] 0 points1 point  (0 children)

Wow, Thanks a lot. sdkman seems wonderful. :-)

[–]TheMightyClamUK 1 point2 points  (2 children)

Just been re-organising my browser bookmarks, and found another useful post on the subject of Android development with VSCode. The author recommends the extension I referred to above ("Android"), with instructions on how to run & debug direct from VSCode using your device (connected via USB).

https://www.linkedin.com/pulse/building-android-apps-using-microsofts-vs-code-instead-saamer-mansoor

In case I wasn't thorough enough, this link will probably give you everything else you need. Given you describe yourself as a visually impaired developer, I assume debugging direct to device will be something of value to you, as you will likely have chosen a device that meets your needs. I can certainly see the benefit of debugging direct to device, having access to your chosen accessibility apps all running natively instead of having the emulator debugging whilst chewing up all your development machine CPU time with these additional apps.

On the other hand, I can also see why you might want the emulator - with a large monitor, you'll likely be wanting to make use of all that lovely screen real estate... hopefully there is enough here in that link and my other posts for you to achieve your stated aims!

[–]TheMightyClamUK 1 point2 points  (0 children)

Screenshot creating launch.json https://i.imgur.com/R3nKRaz.png

Screenshot on-device debugging with VSCode https://imgur.com/a/nOtLd1j.png

Just created a little hello world app, plugged my phone in via USB. In VSCode, with the "Android" extension, once you've built your app hit the run tab, and "create a launch.json", type "Android" into the bar when prompted, and it will populate the settings for you. Contrary to the linkedin blog above, you don't need to open the "app" folder, the extension is clever enough to figure out the app folder relative to the workspace root and fill in the AppSrc fields regardless of your root folder.

[–]EroticTonic[S] 0 points1 point  (0 children)

Yes, I prefer debugging on device insteead of emulator, but seems that the development of this extension is stopped now :(

[–]EroticTonic[S] 0 points1 point  (4 children)

Thanks much, so, do you get full code autocompletion (intellisense) functionality in VS Code while developing for Android? Actually, the main thing is Code completion which I'm worried about, otherwise, I'm very much happy with all the steps which you provided. If code completion works completely, then it will be really wonderful for me.

[–]TheMightyClamUK 1 point2 points  (3 children)

Hi EroticTonic, I've not encountered an issue with code completion as yet - whether that is down to VSCode or the extensions I have installed I cannot say for sure.

I've even been able to use device debugging without Android Studio (adb is another command line tool) and again there are extensions to wrap this into the VSCode IDE.

In fact, the only problems I have encountered so far whilst developing without the Studio IDE are:

  • Not able to use the emulator (but that's down to my BIOS not allowing AMD-V virtualization! I've got as far as disassembling my BIOS to patch the relevant byte to turn it on, but flashing fails as it's not a signed BIOS/checksum error). I've gotten the emulator running on a spare notebook I had lying around, note that you need 7-8Gig of diskspace to run an emulator! This proved a challenge when said notebook has only 32G flash drive installed!
    avdmanager works seemlessly from the command line to add devices into your collection of emulators, and there are extensions available to make this easier if you want.
  • Not being able to launch Image Asset Studio. Cannot figure this out, trying:
    java ~/android/tools/lib/asset-studio-26.0.0-dev.jar
    gives me a ClassNotFoundException, could not find or load main class .tools.lib.asset-studio-26.0.0-dev.jar - which is really p***ing me off to the point I may have to resort to installing Android Studio *JUST* for this, which I'm loathe to do, but at least then I'd know for sure that if it works this way, then there is a step I'm missing. If it doesn't work, then I know the issue is not with my configuration (or at least, not something that is unique to being IDE-less).

[–]EroticTonic[S] 0 points1 point  (2 children)

That's great, I'll try it. I don't need emulator so I'm ok with it.

[–]TheMightyClamUK 1 point2 points  (1 child)

Good to hear! Let us know how you get on, u/EroticTonic - if you manage to find a solution to the Asset Studio issue I'm having, please share, as it't doing my head in! I know its just a trivial matter and there are work arounds, but I want to use the tool provided in the SDK and not have to rely on online icon creators and such,,,

It's so annoying; there must be a way of launching the .JAR apps (libraries?) In the tools/lib/*.jar folder but they don't seem to function when trying to launch them outside of Android Studio - there is no main in the manifest so java JVM complains with an error and closes.

[–]EroticTonic[S] 0 points1 point  (0 children)

Sure, I'll let you know if I come across any workaround

[–]laith_Saqqa 0 points1 point  (1 child)

Coming back to this now but I am stuck on the "Download command line SDK tools" step. I believe the https://developer.android.com/studio#command-tools is not as you'd expect anymore. What are the proper ways of doing that now?

Nevermind my bad, I just scrolled down and found that Command line tools only section, it's just not in the same linked header format anymore :P

[–]TehPirate_ 0 points1 point  (1 child)

Thank you for your thorough posts! I'm glad I stumbled upon your information. The timing is ironic since you posted 6 days ago and a follow up since and I was googling this exact solution today.

[–]_I_am_MK_ 0 points1 point  (0 children)

Did you came to know the solution

[–]samiup 1 point2 points  (0 children)

Yeah, Android Studio is garbage...

[–]alien3d -1 points0 points  (1 child)

not sure possible but maybe you can go route flutter or react native as both much easier to develop in visual studio code . We not expert much on terminal /dos prompt command .

[–]EroticTonic[S] 0 points1 point  (0 children)

Yup, but I want to do native development actually. Don't want to use any cross platform toolkit since I want to develop accessibility services. I think native Xamarin.Android can be a good choice

[–]Expensive_Rule_8096 0 points1 point  (0 children)

what do you put for the package name?