Android download changes pushed me to create an APK installer


I have no problem using ADB via the command line from time to time. But between remembering where I put the executable, opening a terminal window, connecting a device, and pasting the APK file path, it’s a bit of a hassle. Starting a small application on my PC to handle much of the legwork would be much faster.

Yes, there are already options on the market, such as ADB AppControl, EasyADB or QuickADB. However, I wanted to create something that focused specifically on the APK installation workflow (wireless debugging pairing, file/directory browsing, and package unpacking) rather than a full ADB control suite.

Have you ever used Google’s ADB tool?

613 votes

While I am a moderately capable programmer, between work and my two children, I don’t have time to write an application completely from scratch. So I thought I would try AI-assisted “vibration coding.” This had the added benefit of allowing me to try out a new programming language that I wasn’t familiar with: Go.

Why go? It’s a simple language that fits perfectly into a compact project like this (you don’t need Rust), but it compiles easily into a small cross-platform executable (sorry, Python). Additionally, I wanted to create an attractive terminal application using the beautiful Bubble Tea TUI Frame that I found recently. With the design in mind, I set out to find an AI agent to help me.

The Trials and Tribulations of Vibration Coding

Vibe Coding with OpenCode and VSCode

Robert Triggs / Android Authority

I have ventured into artificial intelligence tools Enough to know that simply asking someone to build an app for you is a gamble. Expensive models from Anthropic and OpenAI can perform simple tasks in one go, but you often end up in an exhausting back-and-forth to resolve bugs when you let an agent loose on a complex project. To interact with ADB and create a terminal-based UI, I decided I wanted a more hands-on approach.

I wasn’t willing to spend hundreds of dollars on Opus 4.6 for this small project. Even with careful planning, there is always the risk that models will get stuck in an expensive build cycle or run into an unavoidable problem. Instead of asking Claude or Codex to handle the task themselves, I paired my regular IDE with open source and their very affordable $10 Go subscription. That gave me access to the MiniMax M2.7 and the impressive GLM 5 to use alongside my slower human brain and keyboard-worn fingers.

I don’t trust AI to build from scratch, but working alongside it is a huge time saver.

I laid out the basics of the structure myself (folders, some placeholder functions, a .gitignore, etc.) and wrote a quick AGENTS.md to outline the project’s requirements, goals, and coding details. Then, instead of asking AI to finish everything, I slowly moved through the phases I knew I would need: plan, build, review, and adjust each step along the way. I highly recommend using version control, like Git, so you can undo major AI bugs and get out of the inevitable rabbit holes.

First, I got a basic ADB container running in Go, allowing me to run commands like adb devices to find connected phones and then use adb install to send them APK. Next, I expanded the job commands to a basic terminal interface to walk through the process. It was a fairly simple experience, but not the most user-friendly.

Finally, and definitely the most arduous part of the back and forth, was setting up the UI flow. It didn’t help that I was learning a new language and framework at the same time, but by telling the AI ​​agent to expose the topics via a configuration file, I was able to make manual adjustments myself. That saved time (and credits) by avoiding the need to spend resources on every little detail.

Does my app really work?

Android wireless debugging notification

Robert Triggs / Android Authority

In the end, the combination of human planning, AI creation, and team tweaking produced a solid little application in just three days of downtime. I certainly wouldn’t have been able to write the ~3000 lines of code by myself in that time. Not bad at all for $10 and I have plenty of credits left for another idea.

It is a compact 7 MB executable, no installation required. You can automatically download ADB from Google if you don’t already have it, or use an existing PATH installation. The application starts ADB when necessary and closes it when exiting. It can pair with debuggable Android devices over USB or Wi-Fi, search for files using a built-in file explorer, and install APKs directly. It also supports unzipping and installing application packages, including APKM, XAPK, and APKS files.

The good news is that I have an app that works and is really useful. If there’s a downside, it’s that I didn’t learn as much Go as I initially expected. By asking AI to solve problems for me, I missed out on deep learning the syntax and patterns of the language. I’ve gained some understanding by reviewing the code and following the logic, but without solving much of the problem on my own, I still wouldn’t consider myself proficient in Go.

And that’s the real risk of vibe coding: not fully understanding how the code works. I spotted a couple of harmless bugs and even a zip-swipe vulnerability while reviewing AI-generated changes, but I can only imagine the risks when creating something that involves encryption, API keys, or sensitive credentials. My advice to anyone trying vibe coding is to put in the effort to plan and understand not only how your app works. ought works, but also what tools you need, how to manage the project, and what usually goes wrong. That way you’ll be in a better position to verify the AI’s output when it inevitably fails.


If you want to try my app, you can find the versions and source code in the Small APK installer GitHub repository. I haven’t had a chance to test the Mac or Linux versions yet, so I’m confident that Go compiled everything correctly. If you spot any bugs, feel free to open an issue and maybe curse the AI ​​for making it so easy to build (and break) things.

I don’t want to miss the best of Android Authority?

Google@2x Preferred Font Badge LightDark Google Preferred Font Badge@2x

Thank you for being part of our community. Read our Comment Policy before publishing.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *