
Android Studio 1.0 - ingve
http://android-developers.blogspot.com/2014/12/android-studio-10.html
======
gtaylor
The fact that they're doing this with Jetbrains excites me. Potentially enough
for me to take another shot at playing with Android development. The toolset
felt so raw the last time I messed around with it (Eclipse+ADT days) that it
turned me (not a Java developer) off.

I have been super impressed with PyCharm, and have heard great things about
some of their other IDEs. Google picked the right partner to build on/with for
this.

If they have sufficiently smoothed over some of the annoying workflow/build
snags I was running into in the old Eclipse+ADT days, this could be a whole
new ballgame for us who don't play with Java or Android for a living.

~~~
barbs
Senior Android Dev here, moved from Eclipse to AS when it was still in preview
earlier in the year. It's loads more stable and much easier to use. Definitely
recommend giving it a go if you were turned off by Eclipse + ADT earlier.

~~~
pesnk
That's totally true. I've been a Java developer for quite a while. And I
always find myself struggling with some Eclipse bugs or bad implementations. I
downloaded android studio since the very beginning for the Android projects.
The more stable interface really helps a lot.

------
stevebot
I hated Android Studio when I first started using it. All my shortcuts were
different from Eclipse, and the whole module structure wasn't as intuitive for
me (I stayed away from IntelliJ too). However, after using it for the last 6
months, I have to say, it is a huge improvement for Android Development. There
are soo many slick IDE features, like icon previews to the left of the editor,
smart code collapsing (done automatically by the IDE without modifying the
source), preview's on text resources, UI preview's that put Eclipse + ADT to
shame, and very very nice gradle integration.

And at this point I freaking love gradle over Ant. I use to be an Ant fanatic
(which isn't saying much), but gradle gives so much more structure to my
builds now, and Maven is no longer such a pain in the ass.

~~~
beekay
You've likely already discovered this, but in the off chance not, you can set
your keymap to match Eclipse. Just go in Preferences > Keymap, and select
Eclipse or Eclipse OS X from the dropdown.

~~~
virmundi
Please don't do this. I know I'll probably get voted down by people, but doing
this is terrible if you're in a team. You can't move efficiently to a co-
workers computer and pair program like this.

Take the time to learn the shortcuts for AS. They might be long and arduous,
but learn them. Then you can jump from keyboard to keyboard without having to
tell a team member, "Before we begin, let me change your keyboard shortcuts to
my preference".

~~~
steve_barham
Sure you can. Ctrl-Shift-A, type 'keymap', and you get a handy popup (same
size as the 'recent files' switcher available with Ctrl-E) with the defined
keymaps ready to use. Few seconds, maximum.

~~~
chris_overseas
Even quicker: Ctrl+` brings up a quick switch context menu that allows you to
instantly switch keymaps, code styles, L&F and colors.

------
0x0
Also interesting is that the Eclipse based ADT is no longer being maintained.
Guess there's no choice but to migrate.
[http://developer.android.com/sdk/installing/migrate.html](http://developer.android.com/sdk/installing/migrate.html)

~~~
krschultz
It's for the best. Android Studio today is far better than Eclipse+ADT ever
was. Maintaining two entire toolsets would be wasteful. Clearly Google decided
it was easier to build the tools they wanted on top of IntelliJ than on top of
Eclipse, even accounting for having to start over. That speaks volumes about
the two platforms.

For a time Android Studio was unstable and not feature complete[1], there were
valid reasons to stay with Eclipse. These days the only people that aren't
happy about it are those that prefer Eclipse to IntelliJ. That certainly is a
valid opinion, but there were people that preferred IntelliJ to Eclipse the
first time around. You can never please everyone.

[1] Yes, I know NDK support isn't yet in Android Studio, it is coming.

~~~
zak_mc_kracken
It's still very unfortunate, the developer community is about split between
Eclipse and IDEA: forcing half of the developers to learn a new IDE might slow
down Android adoption.

They have enough resources to maintain both ADT and Android Studio, it's a
very surprising move.

~~~
Aldo_MX
> forcing half of the developers to learn a new IDE might slow down Android
> adoption.

I know of a platform that forces developers to learn how to use their IDE,
their Operating System, their Hardware, and recently their new language, and
their adoption hasn't slowed down...

~~~
stevebot
heh I actually know of two platform's if you consider new windows phone.

~~~
Aldo_MX
Nope, Windows Phone (fortunately) doesn't force you to use Microsoft Hardware
(yet).

~~~
aceperry
Pardon me? I wasn't aware of any other platforms that you can use to develop
for windows phone.

~~~
jacalata
The windows platform runs on third party hardware, including Macs.

~~~
aceperry
I know that you can run Windows on a mac, but you can't use OSX to develop for
Windows.

~~~
Aldo_MX
You can't even install OSX on something without an Apple logo (well, in theory
you can but you shouldn't because _insert legalese and threats here_ ).

In the case of Apple their closeness is not hurting them, and definitely not
decreasing their adoption.

In the case of Microsoft... well, they still need to convince people to take
Windows Phone seriously, so their closeness only helps to hurt them.

------
jfernandez
As a strongly leaning iOS developer, something like the "Xcode for Android"
was something that was holding me back from committing more to experimenting
on the platform. The fact that Instruments, Interface Builder, etc are
integrated _well_ alongside the editor is huge and I think Google is wise to
invest here.

Developers, developers, developers!

~~~
imd23
xCode today is and extremely sophisticated IDE. I think there's no other
software more complex than it that is so well designed to maintain simplicity,
ease of use and speed. It was ultra slow years before, but nowadays every time
I develop for Android I'd kill for having an xCode like realtime autocomplete
and documentation. XCode it's extremely solid and you feel it every time you
use it. Android Studio is build on Java, then it's slow and the UI is nowhere
near as polished as Xcode. If I were Google I'd start coding my own IDE from
zero ASAP.

~~~
hrabago
Your comment tells me you haven't used Android Studio at all, and are making
up attributes based on what you assume something written in Java must be.

I use Jetbrains IDEs and Xcode every day. Whenever I have to write any
significant amount of code, I switch from Xcode to Appcode.

> I'd kill for having an xCode like realtime autocomplete and documentation

From my experience, this is true for Jetbrains IDEs, and not for Xcode,
particularly for autocomplete. Xcode autocomplete is a pain, and sometimes
gets in the way instead of being actually helpful.

~~~
imd23
I am sorry to disappoint you. I wrote a huge app in Java and in Kotlin. Months
of develoments. xCode still years ahead of AS in every sense. Inheriting
another company IDE is philosophically wrong, but that's the way Android and
Google work. Maybe I love details too much.

~~~
yole
So, given that IntelliJ IDEA has been in development for 14 years and XCode
for 11, when would you expect Google to release a high-quality IDE if they
started from scratch today?

------
dkopi
I've only learned to really appreciate Android Studio after I went back to
Eclipse for a project, and felt the sharp drop in productivity.

Jetbrains sure know how to produce an awesome IDE.

~~~
yc1010
This! Same with Zend Studio (based on Eclipse) vs Jetbrains PHP Storm, huge
improvements in productivity due to more features and most of all faster
speeds.

Somehow on Core I7, 26GB ram + SSD it still takes me less time to make a cup
of coffee than for Eclipse to start up :(

I love Jetbrains tools!

~~~
aceperry
As another poster mentioned, the latest eclipse version "Luna" is much faster
and better than previous versions. It boots up faster than the beta versions
of Android Studio.

~~~
diltonm
I've been using Luna for a month, it's much faster at startup, they did a
great job with Luna. Each version of Eclipse in the past 6 years has been
improving.

------
evanspa
I'm in 2 minds regarding Studio. On the one hand, I'm a whiz at Eclipse and
Maven, and because time is so precious, I have no motivation to learn Gradle,
and so I use the excellent android-maven-plugin[1]. (I'm also dependent when
using Eclipse on the Emacs+ plugin for Emacs key bindings) When learning a new
language / platform, I'm fine with learning its "standard" build tool, but
with Android dev, I wish I could use Maven. I just can't emotionally bring
myself to have to spend brain energy on yet another build tool chain for Java
dev (I'm already juggling "build tool chain" knowledge for iOS dev and Clojure
dev, just to name a couple).

On the other hand, I want to be using the best and latest tools, and stay up
to date with what the broader Android dev community is doing.

Would love to hear from others with similar feelings...

[1] [https://code.google.com/p/maven-android-
plugin/](https://code.google.com/p/maven-android-plugin/)

~~~
donpdonp
I too am satisfied with Eclipse for Android development. It does what I need
and I'd like to stay with it for a while longer.

Android Studio is fanciful, I used it for months during the beta. There is one
gotcha which leads me to prefer Eclipse. In Eclipse, the compile process is
much more integrated with the IDE. The compile step appears to happen inside
the IDE app/process tree/whatever. In JetBrains, the compile process is a
separate process, much more disconnected from the IDE. Hence JetBrains takes
more memory and is slower and running a project build and getting errors back
into the IDE. I can appreciate an external build process being flexible for
Jetbrains to use their IDE with nearly any language/compiler, but Eclipse
worked much faster overall on a 4GB ram setup.

~~~
chinpokomon
You're right. This is also a problem with Eclipse over the IntelliJ toolchain,
in general.

Eclipse has it's own compiler and it uses that to build from within the IDE.
Since this is not using Javac, it means that you might and very likely will
not have equivalent binaries. Not specific to Android, but this also meant
that when a new version of Java is released, IntelliJ can immediately take
advantage, but you will be stuck waiting on Eclipse (and NetBeans).

Personally, I prefer the IntrlliJ approach since the IDE, javac on my
workstation, and javac on the build server can output identical binaries, I
trust the results even more so.

~~~
taeric
My understanding has always been that you can have Eclipse invoke an external
build. However, if you use its compiler you do get quite a few niceties.
Largest being that it can let you debug partially broken code. (You just can't
call a method that was unable to compile.)

Also, if I am not mistaken, IDEA has its own compiler, as well. It just
doesn't emit bytecode.

------
ihsw
Their main Android Developer website, and their 'Getting Start' docs seem to
have been updated for Android Studio, too, respectively.

[https://developer.android.com/sdk/index.html](https://developer.android.com/sdk/index.html)

[https://developer.android.com/training/index.html](https://developer.android.com/training/index.html)

Things are looking good for Android development, especially with regards to
Firebase being acquired.

------
72deluxe
Very interesting. I had been using development under Linux under Eclipse for a
long time and found it alright, although recent moves to Mac OSX as the
fulltime development system meant it felt awkward under OSX (and upgrades
between Eclipse versions always broke something).

Anyway, having installed the JDK 8 u25 on Mac OSX, Android Studio wouldn't
run. You need to export:

export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

Modify .bash_profile in your home directory to get that to stick.

~~~
krschultz
Unfortunately the documentation isn't 100% worked out yet. They published a
bunch today, but the post explaining that is buried in release notes for an RC
build:

[http://tools.android.com/recent/androidstudio1rc3_releasecan...](http://tools.android.com/recent/androidstudio1rc3_releasecandidate3released)

~~~
72deluxe
You're right - that link you provide is far better. Modify the Info.plist
within /Applications/Android Studio.app/Contents and modify the JVMOptions /
JVMVersion string to read 1.8* instead of the default 1.6*.

Much better than the BASH profile thingy (which doesn't work without opening a
terminal, obviously).

~~~
matwood
The above trick also works with Intellij proper. The only downside is you have
to change it again after every update.

------
chief_worminger
Android Studio has become a good, mature IDE. Having had to go back to Eclipse
for my current project, the positive difference is vast once you get deeper
into it. I still believe Eclipse is far superior on Windows than it is on Mac-
the usability and scrolling performance is terrible on retina Mac.

This brings me to my most wanted feature in Android Studio - smooth native
scrolling! Right now it scrolls lines-at-a-time rather than pixels-at-a-time,
which is slightly annoying. Eclipse on Windows was very nice in this respect.

------
revelation
Finally, all the languages for all localized strings in one big, massive
table. For all us >10 languages polyglots out there.

------
kragen
It's deeply disappointing to see Google moving to a proprietary IDE for
Android. I've wasted time in the past learning proprietary development
environments, and it's not a mistake I want to repeat — years of muscle memory
and ecosystem knowledge down the drain when the IDE owner went out of business
or didn't support the new platform I wanted to develop for — but it seems like
now I have very little choice if I want to develop for Android. I mean,
Eclipse will still work, at least unless Google breaks it, but it's falling by
the wayside.

It's also alarming to me that nobody else here on Hacker News seems to be
concerned about this.

I know Google isn't a free-software business like Red Hat, but they've
benefited enormously from the work of the free software community, in
particular in building Android, and they touted Android as being open. It was
inspiring to see a really open phone platform birthed, but every month it
seems like Android is less and less open. Supporting only a proprietary
development toolchain is one more step toward the dark side.

~~~
binarycrusader
How is it proprietary exactly?

Android Studio is open source:

[https://android.googlesource.com/platform/tools/adt/idea/](https://android.googlesource.com/platform/tools/adt/idea/)

There is certainly a commercial version which is not, but you don't have to
use that and Google isn't shipping that version at last check.

~~~
kragen
...I was wrong. Completely wrong. I thought IDEA was proprietary, because it
used to be, but IDEA is free software now. Furthermore, if I had investigated
that question for only a couple of minutes before posting, I would have known
that. Thank you for taking the time to correct me.

I'm happy that the truth is much brighter than what I thought.

~~~
on_and_off
The Jetbrains guys are also extremely skilled at creating IDEs. Short of
buying Jetbrains (which seems unnecessary unless Google wants to scale its
tools team extremely aggressively and a bad things for other languages), I
don't think Google could have made a better move.

------
AlexeyBrin
How about support for NDK (C++ development) ? Does the Android Studio ships
with support for C++ editing ?

~~~
pjmlp
Nothing at all.

Apparently Google is waiting that JetBrains eventually releases CLion.

It is anyone's guess when it will achieve parity with CDT.

~~~
abaron
This isn't entirely true... I'm using some, albeit trivial, NDK support by
adding: android { ndk { moduleName "<some_module_name" stl "stlport_static"
ldLibs "log" cFlags "\--std=c++11" } }

To my gradle file. I've set up a pretty simplistic JNI directory structure
though. I can provide more info if this isn't enough as it's been awhile since
I've set up a project from scratch.

~~~
pjmlp
That is very little. As you say, rather trivial.

I want native code debugging, refactoring, static code analysis (Codan like),
code navigation.

~~~
izacus
And for that you can easily use pretty much any other editor/IDE that supports
that. You don't HAVE to use only Google's tools you know?

~~~
pjmlp
Oh, I though Android was a Google's product!?!

------
tosh
Great to see Android Studio reaching 1.0 I'm also a happy user of IDEA CE 14
for Dart.

JetBrains et al really built an impressive IDE platform. I'm glad there are
open source alternatives to Eclipse.

~~~
thomasahle
Wait, IntelliJ is open source?

~~~
mateuszf
Yes, it is. You can also get a version without "enterprise" features for free
(called "Community Edition")

------
derpsherpa
I don't see any mention of NDK support. Has studio added that yet? Also, is
ADT support going to continue? I really prefer eGit to whatever ships with
studio.

~~~
krschultz
Unfortunately it is not good.

 _The current NDK integration is a dead end, we don 't recommend using it, as
we are working on a new version that use the native support in Gradle._

[https://code.google.com/p/android/issues/detail?id=73417](https://code.google.com/p/android/issues/detail?id=73417)

~~~
parkaboy
There too goes the new low audio latency updates they were raving about out
the window. As far as I can tell the NDK is needed for doing any real-time
audio processing as you're forced into using a large 4096 buffer in the Java
API (testing in Lollipop...) :/

~~~
fidotron
Yep. The entire rationale is that audio must be run on a thread which is never
going to be GCed, and for that reason the low latency stuff only makes sense
in the NDK.

------
jmcdowell
I realise this is subjective but how hard have people found converting over to
Android Studio for someone used to Eclipse? I was taught to use Eclipse in
university and having been using it full time at my job for the last couple of
months so its workflow is quite ingrained in me.

~~~
krschultz
'A couple of months' isn't a big investment in my opinion. I used Eclipse for
~8 years, including writing plugins for it. I switched to IntelliJ about 18
months ago. I'm probably still not 100% as familiar with IntelliJ as I was
with Eclipse. I'm still far more productive.

~~~
jmcdowell
Sorry, should have been clearer, couple of months in my job and past 4 years
at university.

Glad to hear though, I'll try it for my next android project.

~~~
bricestacey
If you are doing traditional app development then Android Studio is by far the
superior choice. The gradle integrations make everything one liners without
having to manage a ton of random plugins or master a build system. It just
works.

Also, not to belittle your investment in Eclipse, but counting university is
laughable and unless you're a maestro and use some random plugins that make
you a 10x developer you're probably better off switching.

As others have mentioned you can change your keymap to Eclipse, or just learn
new ones. Hell, I only know 4 keystrokes: autocomplete, find class by
name/click, rename variable/method, and reformat code. Yet somehow I am
successful -- I doubt it's my IDE. It's just effortless and I don't have to
deal with stupid build crap while writing code. Granted, I don't know much
about modern Eclipse, I haven't used it for two years.

If it weren't too much effort I'd be writing java in vim where I have almost 8
years experience, but I haven't gotten around to bothering because my
environment is not the bottleneck to writing good code. It's probably more the
crappy Android APIs and unexpected behaviors of standard libs that will
unlikely be timely fixed.

------
rcarmo
My first thought was "oh PLEASE, let them keep distributing the CLI-only SDK".

Why?

Because I got burned by Eclipse so many times I got used to developing solely
with vim and ant - then I started using NetBeans+NBAndroid and found it
comfortable enough.

Still, now that it's 1.0 I'll eventually migrate.

~~~
izacus
Um... now that Gradle is the default build system used, you can build any (AS-
created) project in command-line by default. You can also easily create new
one (you just need a skeleton build.gradle).

------
chambo622
Glad to see this reach final. Have been using it since the first alpha release
at I/O 13 and it's been getting better and better.

------
xasos
Has there been any word about their Android Go project? Would be awesome now
that they are updating all their development tools.

------
orsenthil
Does anyone know if I can customize the IntelliJ with plugins to be _exactly_
equal to Android Studio? Is this possible?

------
guelo
I switched to Android Studio just a couple months ago and the main deficiency
I've found compared to Eclipse is that it doesn't auto-build the project on
every change so you can immediately see all breakage. I'm constantly hitting
"Rebuild Project" because someone decided it couldn't be done for me.

As for advantages over Eclipse, they've been minor. No real big improvements
except the automatic dependency management of Gradle.

The reason for the giant effort to switch the entire ecosystem over is a bit
mysterious to me.

~~~
stevebot
Yes, lack of auto-build, plus no problems view!

However, i've found that i do not notice that so much and get much more
benefit from gradle then ant. Also, the project structure has ended up being
alot cleaner and easier to navigate for me. Plus, I like all the slick
IntelliJ style features.

As for the giant effort to switch? I'd say gradle is a big one.

~~~
mdasen
View > Tool Windows > Problems gets you a problems view.

~~~
guelo
Doesn't exist.

------
Weizilla
Can these features be added to a vanilla Intelij install? What will happen to
the existing Android plugin?

~~~
krschultz
They are added back to IntelliJ. It is sort of a weird development process.
Android Studio is a fork of IntelliJ, so it always runs a bit behind. At the
moment Studio is branched off IntelliJ 13.3, not 14. Meanwhile, IntelliJ pulls
in the Android Studio stuff into their plugin a bit after Studio releases it.

If you want the latest and greatest IntelliJ features, use IntelliJ + Android
Plugin. If you want the latest and greatest Android specific features, use
Android Studio.

If you have a paid license of IntelliJ, you are probably better off with
IntelliJ + Android plugin.

------
smrtinsert
as someone who uses gradle everyday I cant express my disappointment enough. I
cant think of any greater dev friction th an the incredibly slow gradle builds
I deal with daily - not to mention the langue. its like someone wanted to
redesign javascript poorly.

------
c4n4rd
How do you delete a project?

Why do they make it SO HARD to even delete a project?

[http://stackoverflow.com/questions/16710290/how-to-
delete-a-...](http://stackoverflow.com/questions/16710290/how-to-delete-a-
module-in-android-studio)

~~~
amaranth
To delete a project you simply delete the directory using your OS file
manager. This is not a common operation and your file manager likely has
options for undo and such that are OS specific.

~~~
diltonm
It doesn't have simple project management?

------
V-2
I've been using it almost since day one, and professionally too. The
frustrating thing was compatibility breaking, mostly associated with Gradle.
Every second upgrade, I had to spend a while getting my project to build
again. Yes, I'm new to Gradle. I only learned the required minimum, I should
get to know it in-depth. But I have work to do in meantime. Fortunately, this
integration is constantly improving.

~~~
izacus
Yes, that was annoying - but I guess that was the legacy of actually being a
pre-release version (0.x versions).

Tools team promised that compatibility breaking changes will stop after 1.0
until other major revisions. Let's hope that holds up :)

------
Tekker
I've been using Android Studio for a while now, and greatly prefer it over
Eclipse ADT (being phased out anyway, and thankfully so) but I've had a lot of
trouble getting my projects from earlier versions of Android Studio up to date
- it's always a form of a gradle incompatibility; Android Studio is great when
it works, but it's been a rocky path to 1.0.

~~~
jayd16
When they can go a major version without seeing a bunch of Gradle changes in
the patch notes, that's when I'll upgrade my project from Ant.

------
BigChiefSmokem
How does this compare to the combo of C# + Visual Studio (which seems to be
the target market here)?

Eclipse + Java has always been a non-intuitive headache for me - will this IDE
support Python? Has Google made Python a first-class language yet in their
stack?

Inquisitive minds would like to know.

~~~
BigChiefSmokem
Why is that mentioning C# in an Apple thread is A-okay but mentioning in a
Google related post is a deathnell?

If you people think the target market for this is just Eclipse and Android
developers then you have not been paying attention to the larger picture of
cross-platform stacks.

It even has the word Studio in the name for crying out loud.

~~~
deet
Android Studio is customized very specifically for Android development, not a
general purpose IDE. Even the New Project dialog will not let you continue
without selecting the target Android form factor.

You're being downvoted because your comment reads as being off-topic and/or
uninformed (especially with the Python mention). If by Visual Studio and C#
you were referring to Xamarin or Mono for Android it would have been clearer
if you mentioned that. It would be helpful if you also mentioned why you feel
Android Studio targets developers who use those technology instead of the
larger pool of Android developers in general. I don't think there's a bias
against those technologies here, only against poor comments.

------
pknerd
OK that's cool it's based o IntelliJ IDEA. Now only if Google comes up with a
faster emulator it will help many of us to take Android seriously. Seriously I
can't wait light years to test my _Hello World_ script.

~~~
peedy
Isn't light years a unit of distance?

~~~
pknerd
Yes distance from my Laptop to Kitchen. More it takes time to load Emulator
more I stay in kitchen to eat stuff.

~~~
drbill
The only thing Genymotion basically does is use a host-native image x86 based
android image, rather than the actual emulated device image, typically ARM as
the android emulator would do by default (for some reason).

If you use the android emulator with the x86 android image (on a HAXM capable
CPU), then it runs fine. iOS has always used a simulator.

------
oldspiceman
Is Google planning to release a 2d graphics library like SpriteKit but for
Android?

~~~
matt_heimer
Try LibGDX

------
ninjachen
android studio is really good. but gradle is annoying me. every gradle-build
project force me to download a new gradle-wrapper. I install the newest gralde
in my OS, but it can not be use repeatedly

------
bitwize
Emacs and command line tools still for the win!

~~~
kaonashi
Have any good setup tips?

~~~
bitwize
Sorry to disappoint, except for setting C bracing style to "bsd", I don't
really do anything to set up Emacs for Java code. Unlike crawling horrors like
J2EE, the Android API is quite manageable without a whole lot of IDE support,
especially if you've been coding in it a while.

------
jbeja
Should I get this or just keep using Intellj?

~~~
yole
The majority of new features developed by the Android Studio team are
integrated into IntelliJ, so if you're already using IntelliJ version 14,
there is no big advantage to switching to Android Studio.

~~~
V-2
Android Studio is free.

~~~
jbeja
As Intellij community edition.

------
gcb0
hopefully they improved resiliency. my first experience with android studio
beta was: 1. create one project and close it 2. edit single file outside. 3.
reopen project on android studio and watch it go down in flames.

------
code4eva
Finally making the switch from Eclipse to IntelliJ

------
CmonDev
Late 2014, a single-target-OS IDE is released - makes me chuckle :).

------
andyron
I`m using.

------
mw44118
Call me when I can develop android apps from within an android device.

~~~
tdkl
[https://play.google.com/store/apps/details?id=com.aide.ui](https://play.google.com/store/apps/details?id=com.aide.ui)

