30 ms·
Google Launches Android Studio 2.0
- talloaktrees 11y ago"Instant Run lets developers build and deploy their apps once (both to the emulator or to a physical device) and then as they change their code and deploy it, it’ll only take a second or two before they can see those changes in the running app. This feature will work for all apps that target Ice Cream Sandwich and later. Cuthbertson politely refused to tell us how exactly Instant Run works, but promised that Google will detail the technology behind this feature in the future." This could be awesome, if it works as advertised.
- gruez 11y agoI guess it works similarly to edit and continue in visual studio.
- Natanael_L 11y agoIf done directly on devices too, I'm assuming runtime hacks similar to Xposed that swap code out right away.
- jayd16 11y agoYes, it sounds more like monkey patching the apk than simply changing the running code. Hard to say without more details. /starts download
- free2rhyme214 11y agoInstant Run would be awesome on iOS...
- iLoch 11y agoReact Native supports it on both platforms. Also live reload. :)
- jbigelow76 11y agoSame with NativeScript.
- oblio 11y agoInteresting. Have you used NativeScript for a commercial product? It's the first time I hear about it and I'm curious to hear an opinion about it.
- untog 11y agoI've been playing around with it, but not for a full project. It's very interesting - unlike React Native the JS has full access to all native APIs, so if you want to call one no-one has written a wrapper for yet you just can. I've actually ended up writing a lot of platform specific code as I found the cross-platform stuff to be kind of janky. But it basically lets me write an iOS app, using iOS APIs (and even iOS sample code, if I apply myself)... in JavaScript. It's not bad at all.
- iLoch 11y ago> unlike React Native the JS has full access to all native APIs, so if you want to call one no-one has written a wrapper for yet you just can. Yup I think I'll stay as far away from that as possible! Sounds like a recipe for a 10 hour debugging binge. I think managed APIs are pretty essential when doing interop.
- untog 11y agoDepends what you're trying to do. For instance, I was playing around with notifications in iOS. They have the ability for you to download data in the background before a notification is opened, which is a tremendously useful thing to be able to do. Last I checked the multi-platform frameworks don't allow you to do it - so being able to use NativeScript's cross-platform stuff then augment it as you desire is a pretty great thing.
- AlphaSite 11y agoThere is a limited form of it available as an Xcode plugin. - https://github.com/johnno1962/injectionforxcode https://github.com/johnno1962/injectionforxcode
- javaguy44 11y agoI dev Droid and iOS natively, and am playing with instant run now. iOS simulator still faster than Instant Run on a real sized project. Instant Run just helps to bring more parity, but is still not there yet.
- Drdrdrq 11y agoI imagine they only change the modified activities. I guess they can't do that for games...
- newjersey 11y agoYup, modified activities but games should be able to take advantage of this as well. In the timestamp below, it shows the presenter making the chess pieces larger and smaller. It is available on the canary build beginning today. Give it a try? https://www.youtube.com/watch?feature=player_detailpage&v=YYin_N6xXxQ#t=2521 https://www.youtube.com/watch?feature=player_detailpage&v=YY... (lifestream timestamp is probably inaccurate)
- whatever_dude 11y agoIt starts 26 minutes in, so people should look at the start time and just forward 26 minutes. It's the second speaker, a woman right after the man that comes first.
- whatever_dude 11y agoJust tested. It doesn't replace the activities, it replaces parts of the compiled code (classes' dex?) with new versions. It works well most of the time. Sometimes it can cause some nasty crashes. I guess it's expected since you can't just replace some object instances and expect it to work. The settings does have an option to also restart the current activity when it does the hot swapping. I guess it's to account for those cases when hot swapping doesn't work as expected.
- revelation 11y agoIt crashes? That's pretty bad. VS Edit&Continue and Eclipse JDT, which also do something similar, warn you when a change can't be applied live (or would cause a crash resuming on old state). I've generally found with this feature in various IDEs that it's good for changing a constant in some drawing code but not really much else, and then it just turns into frustration as you get constant popups reminding you it won't apply some change live. I think the problem is that in the timeframe companies like Google and Microsoft allocate for such a feature, it's extremely difficult to produce something that works 99% of the time. If we could get there (and improve step backwards functionality, as well) we would probably just abandon the divide between programming and debugging mode in IDEs and always have an updated copy running (or mostly, paused) alongside ready to context-switch into.
- mirkoadari 11y agoIt's definitely possible. JRebel for Android [1] has been available for quite some time now with none of the limitations on what kind of changes are supported. Will they get it stable? Time will tell. [1] https://zeroturnaround.com/software/jrebel-for-android/ https://zeroturnaround.com/software/jrebel-for-android/
- seany 11y agoYou can do this with CoronaSDK based apps already (on all platforms even)
- nohawp 11y agoI just tried it, it works pretty well. You can also ask it to relaunch the activity.
- ycosynot 11y agoFor some reason, it doesn't work with my radio button text, it doesn't update it, but it works with labels and button texts. Well, maybe it's not stable yet, but it's awesome, and I'm happy that it's there.
- nerdwaller 11y agoI've had hit and miss results so far, sometimes it's great and then a bunch of times it ends up launching the app twice. Perhaps I'm either doing something wrong or I'm not hitting the right use when this works flawlessly. So far, however, hit and miss with little clear reason.
- whatever_dude 11y agoMy hypothesis is that launching the app twice actually means it's crashing the app. When the app is running, and you do an instant run from Android Studio, it will try doing the hot swap. The app crashes and immediately relaunches (and it's the same build). All the while Android Studio is monitoring the app task and waiting for the hot swap to take place. It keeps checking, times out after a few seconds (realizing it didn't update successfully), and then it deploys and launches the new APK, as a last resort. My point is to be careful when testing if you're getting the double launches, because the first time it is launched, it's still the old APK.
- shade23 11y agoIt does not seem to be working for me. It does not reflect logic changes and I thought it was only for UI,however that also had no effect.Am I doing something wrong?
- scorpion032 11y agoI think they have to compete with how React Native handles it, to make sure the developer experience developing Native Android apps is at least at par with those developing using React native, Ionic etc.
- caskance 11y agoDoes Microsoft really not care when competitors release their own IDEs called * Studio?
- Ambroos 11y agoDoes Microsoft release any Studio besides Visual Studio? If they don't, why should they?
- caskance 11y agoYes. There is at least Windows App Studio (http://appstudio.windows.com http://appstudio.windows.com) that I know of offhand and Microsoft Robotics Developer Studio (http://www.microsoft.com/robotics http://www.microsoft.com/robotics) that I found in 5 seconds of searching. It's perfectly reasonable to think that if they ever released an Android IDE, either for the mobile OS or for actual androids, it might be called Android Studio.
- pavlov 11y agoThey wouldn't call it that because Android is a Google trademark. "Visual Studio for Android" would be ok.
- Tloewald 11y agoNeither is really any more or less OK than the other. Whether or not either is OK is a matter for the USPTO, courts, lawyers, and private agreements to determine. Android Studio as a development tool for building anthropomorphic robots might be OK whether Google liked it or not ;-)
- pavlov 11y agoWell, you're right, but Google explicitly has said that "X for Android" is ok because they allow it for apps on Google Play (whereas naming your app "Android X" is forbidden and can get you banned).
- benmarten 11y agoHere's the link to the Download page: http://tools.android.com/download/studio/builds/2-0-preview http://tools.android.com/download/studio/builds/2-0-preview It's not in the stable channel yet, so I assume it's not really released for the broad public yet?
- xd1936 11y agoThis is why TechCrunch isn't great. Here are the actual details: http://android-developers.blogspot.com/2015/11/android-studio-20-preview.html http://android-developers.blogspot.com/2015/11/android-studi... It's in Canary right now.
- benmarten 11y agoGood catch. Here's what Google says: "Since this initial release is a preview, you may want to download and run an additional copy of Android Studio in parallel with your current version."
- on_and_off 11y agoit is a canary build right now I can't get the android build plugin 2 alpha (needed for instant run). It will probably be released in a few moments
- namelezz 11y agoDo you know what improvements this build has for android NDK? Last time I checked the Gradle build plugin for NDK was still experimental and there were a lot of hacks to build and to package native libs into apk file.
- whatever_dude 11y agoThey've been constantly improving it. It'll depend on your build needs, but editing is much better already: http://tools.android.com/tech-docs/android-ndk-preview http://tools.android.com/tech-docs/android-ndk-preview It's not the same as Eclipse, in that you could just setup a ndk build script to run when you saved a file... it's supposed to be much better (since you're supposed to edit C files and have full autocompletion and all). The only awkward part was building the .so files - as long as you could do that (and you could always do that separately with your make files) you were good to go. Building the final apk is fine as long as you have the jni files in the right locations.
- msoad 11y agoVideo of announcement during Android Dev Summit: https://www.youtube.com/watch?v=YYin_N6xXxQ&feature=youtu.be https://www.youtube.com/watch?v=YYin_N6xXxQ&feature=youtu.be Skip to ~1:00:00
- Mithaldu 11y agoIs there any chance of Java 8 support landing anytime soon?
- oblio 11y agoGoogle is probably very wary of going more into Oracle territory. Given Android's adoption at this point, if I were Google's management, I'd adopt another JVM language. Sort of Objective-C -> Swift. Kotlin would probably the safest bet from an "easy adoption" point of view.
- gsnedders 11y agoGiven they don't have a JVM, I don't think anything makes adopting a JVM language easier.
- s73v3r 11y agoI think that's pretty disingenuous. Just because they don't call it Java doesn't mean they don't have a JVM.
- needusername 11y agoNot implementing the JVM spec means it's not a JVM. It's that simple.
- Rotten194 11y agoOK but you're straying into pedantry. They have their own VM which runs bytecode generated by a translation layer. The only language supported by that translation layer is JVM bytecode. Therefore, they effectively have an implementation of the JVM.
- kuhn 11y agoActually ART runs DEX bytecode not JVM bytecode so I'd argue it's not a JVM at all. By your definition anything that can translate Java to an intermediate representation is a JVM. Does that make LLVM a JVM? https://llvm.org/svn/llvm-project/java/trunk/docs/java-frontend.txt https://llvm.org/svn/llvm-project/java/trunk/docs/java-front...
- swah 11y agoOfftopic: is the experience as good on Windows and Linux as on OSX? I'm planning on selling the MBP (too expensive to keep hardware up-to-date in third-world countries).
- wjoe 11y agoWorks fine on Linux. The IDE is Java based and it packages all the necessary tools with it so it should work fine anywhere.
- georgemcbay 11y agoEclipse is Java based and packages all the necessary tools with it but it is extremely debatable whether that means it "works fine" anywhere... But to address the grandparent post a bit more directly, in my experience Android Studio runs great under both Windows and Linux, I've used it frequently on both with no complaints. The instant run feature this new canary build has will be welcome since the deploy->run cycle has always been just slow enough to feel like a bottleneck to me, though I never faulted Android Studio for this.
- karussell 11y agoWhat has this to do with Eclipse? Android studio is IntelliJ based.
- rhodysurf 11y agoTheyre both written in Java
- bitmapbrother 11y agoWhich means nothing.
- georgemcbay 11y agoIs it really so hard to understand? I was responding to a specific comment which was: "Works fine on Linux. The IDE is Java based and it packages all the necessary tools with it so it should work fine anywhere." Eclipse fits all those criteria (IDE is Java based and it packages all the necessary tools with it). But I would argue Eclipse doesn't "work fine" anywhere, it is a bloated, slow piece of crap (equally, everywhere), thus those criteria are not really that useful in determining if something "works fine" somewhere.
- rifung 11y agoI wonder if these capabilities will come to the few of us who still prefer the command line or if we'll be forced to upgrade.
- tjohns 11y agoInstant Run only works from within Android Studio. We still support command line builds (and will continue to do so). However, as I understand it, there wasn't an easy way for us to deploy an incremental build from the command line, as this takes advantage of an integration with the IDE. Of course, both Android Studio and the build system are open source, so you're free to take a look at how it's done.
- badlogic 11y agoWill it be supported in the IJ Android plugin, say within IJ CE/Ultimate?
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- smegel 11y agoIt's a preview. 1.5 just comes out a short while ago.
- deleted 11y ago[deleted]
- itafroma 11y agoOfficial announcement on the Android Dev blog: http://android-developers.blogspot.com/2015/11/android-studio-20-preview.html http://android-developers.blogspot.com/2015/11/android-studi...
- LegNeato 11y agoInstant run sounds a bit like Buck's exopackage: https://buckbuild.com/article/exopackage.html https://buckbuild.com/article/exopackage.html Although the example they show is editing a resource, so it could be fast-pathing resource-only edits (buck does that too). More docs here: https://sites.google.com/a/android.com/tools/tech-docs/instant-run https://sites.google.com/a/android.com/tools/tech-docs/insta...
- iLoch 11y agoDoes the emulator support high density displays yet? It's been like 4 years.
- angry-hacker 11y agoSorry for off topic but why does every news site mobile layout wants me to click read more/continue reading? Now techcrunch too. I tried to Google the question but didn't get an answer.. Who and why invented this trend? Is it to measure engagement? Surely there are better ways.. Most of the sites don't lazy load the hidden content, so there's no bandwidth benefit either...
- martinald 11y agoAlso interested to know. Surely just seeing every so often where the content is scrolled too is much better than this?!
- Lord_Cheese 11y agoProbably related to ad revenue across the various sites.
- dworin 11y agoThis is just a hypothesis, but maybe for viewability for ads? There's a big controversy among advertisers/publishers over the difference between "was my ad shown" and "was my ad seen." Clicking Read More at least says you're going to look a little down the page. Some evidence for it is that right below the "Read More" button, there's usually an annoying little ad square.
- des429 11y agoCould be a performance/turnover-rate thing. If they only have to send a small bite of the article in the beginning, it means a smaller response body, which means the page will load faster. You are less likely to close the page in frustration as it continues to load.
- deleted 11y ago[deleted]
- TeMPOraL 11y agoI don't think this is the reason. The amount of text that is contained in the article is usually smaller than the shit ton of superfluous JS and images they're sending. If they're looking to optimize page load, there are lower-hanging fruits.
- siegecraft 11y agoDoes anyone know how this compares to the speed of running apps under something like genymotion? It basically creates an android device in virtualbox. The speed blew me away compared to the old android virtual devices. Granted, I hadn't messed with android development for a couple of years before that, so it's possible everything is that much faster now..
- randomflavor 11y agoYes would love to know how this compares to Genymotion...
- vickychijwani 11y agoInstant Run is different from Genymotion. With both, you should be able to get < 1s compile + deploy times if you're making a change supported by Instant Run. On my 3 years old Linux laptop and a Nexus 4, Instant Run compiles and deploys within 2 seconds :)
- zatkin 11y agoGoogle has the resource to build their own text editor -- so why don't they do it? It seems displeasing to have to work with 3rd party software in order to develop an Android app. And this is not to say IntelliJ is a bad choice, but it would seem that they could rid away with any extraneous portions of the editor. It could also be optimized for Android development, unless that's what this "Android Studio" is.
- whatever_dude 11y agoBecause an IDE isn't just a text editor. It takes a nontrivial amount of time and people to get a good IDE running. If you consider that a lot of this time is spent on features that have already been implemented somewhere else, it makes sense to leverage an existing project and then, on top of it, work on hard features that really have an impact on Android development - as is the case with the new Instant Run, for example.
- gamesbrainiac 11y ago> Google has the resource to build their own text editor -- so why don't they do it? Because they realize that reinventing the wheel for the sake of being 100% google-made is a pointless endeavor. > It seems displeasing to have to work with 3rd party software in order to develop an Android app. People work with third party apps all the time in the development of applications whether they are mobile, web or something else entirely. >And this is not to say IntelliJ is a bad choice, but it would seem that they could rid away with any extraneous portions of the editor. It could also be optimized for Android development, unless that's what this "Android Studio" is. How is it not optimized for android development. What, in your opinion would be an optimized version of the current IDE?
- on_and_off 11y agoModern mobile development does not rely on text editors but IDEs and there is an huge difference between the twos. Google has the resources to build a text editor, but an IDE ? that would take years and would still be unable to compete with XCode / Visual Studio. So Google chose to take a great IDE, shower it in money and use it as the basis for their own tool. That way, they automatically get everything Intellij already offers for Java : syntax colouring, smart refactoring, code flow analysis and so on and they can just focus on adapting the existing tools for Android and adding new ones (Lint, SysTrace, ... ) > It could also be optimized for Android development, unless that's what this "Android Studio" is. That's pretty much what it is, I don't see how you could optimise it more for Android development.
- phjesusthatguy3 11y agohttps://duckduckgo.com/?q="amazingly+stabled" https://duckduckgo.com/?q="amazingly+stabled" Did TC have the best rewritten press release? There doesn't seem to be any mention of 2.0 on http://developer.android.com/tools/studio/index.html http://developer.android.com/tools/studio/index.html for example.
- whatever_dude 11y agoIt won't be there for a while. It should be on http://tools.android.com/recent http://tools.android.com/recent soon (it should have been already, but I guess they were waiting for the conference to start before putting it there).
- bndw 11y agoIs there any reason to hold out for a non Java/JVM Android development experience? I remember rumors of Dart or Python, but those seem to have died.
- on_and_off 11y agoJava is the language of the platform for the foreseeable future. You might want to check out something like Kotlin (great language which compiles to java bytecode) but IMO there is little reason to invest in Dart for Android right now. It is heralded by the Dart team, entirely independently from the Android team. AFAIK, they are just shopping for a problem to solve with Dart now that they are not going to be able to ship their VM with Chrome.
- spankalee 11y agoYou might be referring to Flutter, which is a project of Chrome, started independently from Dart, and who's purpose is to make the core of Chrome better for app development, not find a purpose for Dart. Flutter started with JS as the scripting language. The Dart team is certainly lending a lot of support to Flutter, because of the promise of a compelling mobile story for Dart.
- xasos 11y agoI have strong suspicion that Google will support Go in the future: - Go 1.5 introduced support for mobile development (and Android in 1.4): https://blog.golang.org/go1.5 https://blog.golang.org/go1.5 - If Android can become less bound to Java, I see Go becoming the go-to language for Android development.
- pjmlp 11y agoThen they will need to change their official statement that only Java matters, as communicated at Google IO 2014 Android Fireside.
- spankalee 11y agoYou should check out http://flutter.io/ http://flutter.io/ which is a Dart environment that works on Android and iOS. It's probably closer to web development (without a document or CSS), than traditional Android development.
- eggy 11y agoI am torn between this and CodeWorks for Android by NVIDIA. I realize CodeWorks is more for game devs, and carries a lot of GPU support, but it is a one-click install and ties nicely into MS Visual Studio.
- nathanb 11y agoCan someone explain this to me? Windows version: x64 Mac OSX version: x64 Linux version: x86 Why? Why do companies not release 64-bit versions of their programs for Linux? This seems to happen all the time, and it utterly baffles me.
- babuskov 11y agoMost probably the developers working on Linux port run 32 bit Linux themselves because of compatibility with some closed-source programs. ;) I have no idea about the real reason, it's just a wild guess.
- Already__Taken 11y agoWindows server is x64 only. Might as well knock that support off the list at the same time. OSX is 64 only right? x86 only linux just halved your compile and packaging times. Only answer I can assume.
- seanwilson 11y agoI have to admit, I vastly prefer web development right now as waiting at least 30 seconds for your native Android app to compile and run on a device really sucks the fun out of it for me compared to just refreshing a browser. Hopefully the live reload feature improves this!
- vickychijwani 11y agoExactly my thoughts. I've been working with native Android apps for 2 years now and I still miss the Web's awesome feedback cycle.
- sunasra 11y agoThe best part they solved is improved compilation speed!
- V-2 11y agoBy my experience (based on the project I'm working on) regular build speed hasn't changed at all. Obviously I'm not saying there's no improvement, only that apparently it's not universal.
- RegW 11y ago> One area Google has recently focused on is app indexing, which brings content from apps into its search engine Hmm. I wonder if the search engine is going to phone home anything it finds interesting in your local files.