Android CLI: Build Android apps 3x faster using any agent (android-developers.googleblog.com)

by ingve 138 comments 315 points
Read article View on HN

138 comments

[−] anabis 28d ago
The install command shown for Windows is 404.

curl -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/inst... | bash

The URL shown for individual OSs work, but the script errors for me.

curl.exe -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/inst... -o "%TEMP%\i.cmd" && "%TEMP%\i.cmd"

I manually downloaded the exe, but it say socket error. vibe coding is going strong!

[−] throwa356262 28d ago
Goggles Android tooling has been like this forever, nothing to do with AI.
[−] embedding-shape 28d ago
Ah, ok, no worries then, here I thought they didn't care about engineering quality or tooling that works just recently, but turns out they never did! Thanks :)
[−] pjmlp 27d ago
Back when I cared about Android development, Google was famous for releasing stable builds of Android Studio/Android Gradle Plugin, that always broke on day 1, regardless of how many preview and candidate builds predated it.

The company with hiring processes for the creme de la creme among developers.

[−] csomar 28d ago
I honestly have no idea what is going on. Lots of broken things in what's supposed to be front products for Google and other "high name" brands. I don't get it: Where is everybody? Is there no one there? Are these companies really dead inside?
[−] patates 28d ago
Same for Microsoft. Redirects to the void, 5-level-deep sign-in prompts, "contact your administrator" who doesn't exist...

Maybe it's a size thing.

[−] CodingJeebus 28d ago
It's (at least partially) the layoffs. I've noticed significant degradation in the external-facing administrative layer at these companies. I recently did some work for a company that was trying to partner with Meta's e-commerce platform and even though there was a ton of documentation on how to integrate, etc. the human approval and planning piece of the project was completely dysfunctional on their side.
[−] anabis 27d ago
MS showing "view summary" button for all meetings, then doing bait-and-switch to tell you to buy Copilot license (on a corporate seat no less, where regular users don't have purchasing decision power) is top annoyance now
[−] DaSHacka 28d ago
[flagged]
[−] fabiensanglard 28d ago
What error message did you get? Perhaps you ran it with PowerShell (this is a Cmd script)?
[−] anabis 27d ago
Tryed both. Copilot said it was wrongly utf16, but it was utf8 according to vscode.
[−] skeledrew 27d ago
Encoding is still am issue today? I can't tell the last time I encountered.
[−] anabis 28d ago
I got a workaround a la GH Copilot:

> android skills list

Picked up JAVA_TOOL_OPTIONS: -Djava.net.useSystemProxies=true

[−] iririririr 28d ago

> Your agents perform best when they have a lightweight, programmatic interface to interact with the Android SDK and development environment.

F you google. Me too. Why didn't we get a sane way to build android apps before you had to please chatbots?

[−] bitpush 28d ago
Damned if you do. Damned if you dont.
[−] stavros 28d ago
Damned if you don't, damned if you do fifteen years later for an entirely different reason.
[−] wiseowise 28d ago
Google has been neglecting Android for years with subpar tooling and ridiculous development practices.
[−] cageface 28d ago
If you think Android tooling is subpar wait until you try iOS.
[−] wiseowise 28d ago
Apple deliberately makes them shitty, big difference.
[−] bitpush 17d ago
Why so? Care to elaborate?
[−] sunaookami 28d ago

>Google collects usage data for the Android CLI, such as commands, sub-commands, and flags used. This data does not include custom parameters or identifiable information. This information helps improve the tool and is collected in accordance with Google's Privacy Policy.

>https://policies.google.com/privacy

>Disable Android CLI metrics collection by using the --no-metrics flag.

No thanks, is there no env variable for this? Doesn't Google have enough data already?

[−] gowld 28d ago
Android CLI can write a tool that wraps android-cli and automatically passes the flag based on an env variable.

How would Google have enough data about a brand new product without collecting that data?

[−] tredre3 28d ago

> How would Google have enough data about a brand new product without collecting that data?

They wouldn't. But on the other hand, they probably have a large amount of in-house Android app developers on whom they can conduct such metrics collection. I wouldn't expect outsiders to have vastly different workflows, because when you get out of the happy path with Android all you get is pain.

[−] Onavo 28d ago
Outsiders probably do have vastly different workflows. Google internally love to stick Bazel on everything and that's quite different (and overly complicated) compared to the usual Gradle route.
[−] panzi 28d ago
alias android-cli='android-cli --no-metrics'
[−] SJMG 28d ago
Uh do aliases load in non-interactive shells?
[−] figmert 28d ago
Create a wrapping binary instead

    mkdir -p ~/.local/bin
    printf '#!/usr/bin/env sh\nexec android-cli --no-metrics "$@"' > ~/.local/bin/android-cli
    echo 'PATH="$HOME/.local/bin:$PATH"' >> ~/.zshenv
[−] yorwba 28d ago
I'm pretty sure this will just call itself in a loop. You need to use the absolute path to the wrapped binary to distinguish it from the wrapper.
[−] oblio 28d ago
Also it's not a binary :-)
[−] figmert 28d ago
Aah! Yes absolutely right! Using exec command android-cli would work I believe
[−] panzi 27d ago
Nope. I have this alias (a default on my distribution) and it's no loop:

    alias ls='ls --color=auto'
[−] yorwba 27d ago
Creating an alias is not the same as putting an executable in your $PATH.
[−] panzi 26d ago
That's true. So an alias won't do it if you use that tool from a script or something.
[−] EdwardDiego 28d ago
You could export BASH_ENV to have Bash processes source a given file at startup.

Zsh has .zshenv, and Fish just has config.fish for everything with the ability to guard certain things within it to login only or non-interactive only.

[−] skeledrew 27d ago

> enough data

No such thing.

[−] whstl 28d ago
I wish the same thing existed for Apple.

Everything I do for macOS/iOS is already without Xcode but it's a pain in the ass to keep up with changes, and there are things I haven't figured out yet (like AUv3).

[−] netdevphoenix 28d ago

> Everything I do for macOS/iOS is already without Xcode

Doesn't Xcode allow you to plug in agents like VS Code does?

[−] whstl 28d ago
I don't know, I don't use/want to use Xcode.

What I'm interested is in the CLI tool for my own use, not necessarily for agents.

[−] generalpf 28d ago
Come on now, you're going to need Xcode at some point during development.
[−] groby_b 28d ago
No, you really don't. Apple would like you to use it (god knows why), but it's not necessary.
[−] whstl 28d ago
Hopefully not!

So far I’ve been shipping internal apps without it! Even notarizing works :)

Apparently Audio Units v3 is only available with Xcode, which is why I’m only doing v2.

[−] generalpf 28d ago
It does.
[−] srslyTrying2hlp 28d ago
[dead]
[−] hemc4 28d ago
Wow. Thanks for this update. It streamlined a lot of tasks.

Apart from this, next step will be to add suport for building android apps on the android phones itself. No desktop needed.Building on the laptop with agents and installing the build in the phone and testing doea not seem AI native. If everything can run on my android phone, development cycle will speed up.

[−] wiseowise 28d ago
Android Studio on its deathbed. Just release VSCode plugin and kill it for good, it has been a buggy, slow mess for the last 3 years or so.
[−] Ciantic 28d ago
android docs is the superpower we need for everything. NPM / pnpm should have similar npm docs that would allow humans and agents to search for type-signatures and JSDocs.

It is so annoying that each agent has its own ideas where it tries to get the docs, usually by blindly grepping.

[−] antirez 28d ago
Let's see if even mid/big companies with tons of resources, with AI and the right tooling will continue to write webview-apps or, even worse, use some kind of multi target wrapper.
[−] rvillberg 28d ago
This is a good step forward, but keep in mind the claimed gains are about "project and environment setup", not the tasks you deal with on a daily basis in an existing project.
[−] hansmayer 28d ago

> 3x faster

Because the real bottleneck is really the velocity of development, right next to keeping the codebase small - right guys?

[−] 1313ed01 28d ago
CLI in a product name now means LLM agent TUI specifically and not just, as I would have expected, any kind of Command Line Interface? And usually there is barely a CLI included at all and you are expected to mostly launch the full TUI with its own embedded readline-loop rather that use the CLI?
[−] jadar 28d ago
This is great. We also need a tool to expose source jars to agents so they don’t need to compress. There’s a lot of Compose overloads that Claude just guesses at. I built something internally but it needs polish and Claude really struggled with the deep Gradle integration.
[−] OutOfHere 28d ago
But can I publish an app without having to share my ID? I want an ecosystem that doesn't require it.
[−] sailingcode 28d ago
Efficiency claim: 70% less token usage, 3x faster task completion in internal testing. Even if that's marketing-inflated, the structured CLI commands replace a lot of trial-and-error. Gonna try it.
[−] mixedCase 27d ago
Is there Live Edit support? I've literally left an agent running to automate the use of Android Studio out of my workflow when I just want to iterate on UI.
[−] Evidlo 28d ago
Now please let us install the apps just as easily
[−] mridulmalpani 28d ago
How can I use this official android skill with Claude code?

Is there any step by step process or guidance on it?

[−] miroljub 28d ago
I must say I'm quite disappointed.

I expected something useful for application development. All it offers is some wrapper around the basic Android setup command that LLMs are already good at. What, initial empty project creation now takes 5 minutes instead of 10? Big deal, who cares?

I had another hope awakening that at least skills might be useful. But except for a few migration recipes, there's nothing of value for day to day Android development.

Facit: I'll skip installing another Google app whose only purpose is more spying on me and keep developing Android apps the way I already do.

TLDR: Nothing to see here. Move on.

[−] Natfan 28d ago
great! now let me know when your official app store transparently alerts users when an app they were using was sold to a third-party adtech surveillance company, please :)
[−] DeathArrow 28d ago
Can we have a web development CLI with web development skills?
[−] user2722 28d ago
Agents will allow human programmers to get what they've been begging for decades now: proper requirements and flexible, logical, tooling.
[−] hyhmrright 28d ago
[dead]
[−] kevinten10 28d ago
[dead]
[−] digitalShield 27d ago
[flagged]
[−] kdhaskjdhadjk 28d ago
[flagged]
[−] winrid 28d ago
Catching up to Flutter.
[−] agentifysh 28d ago
Flutter CLI is what we really need but this is a welcome addition.