yes i can develop for android on a chromebook, but do i want to?

Figure 1: Android Studio with my tutorial on running my Chromebook

You can indeed install Android Studio (Chipmunk, 2021.2.1) and then run the IDE and actually open a project in it, and have that project build and run inside the IDE. As I wrote earlier I checked this tutorial project I’d built into GitHub. On this Chromebook I checked it out and loaded it into the  local Android Studio running on the Chromebook. I had to make a few changes with regards to Java and Gradle because everything is running inside the Chromebook’s Chrostini Linux container. Once that was sorted the project built and I could see the project preview on the far right. I have not tried to kick off a virtual Android device, and frankly, I’m afraid to. Perhaps I should plug in one of my Android handsets I use for testing into the Chromebook’s USB-C port and give that a go. But I have a bigger decision to make.

Should I even try? Loading the project wasn’t a problem. Building it was. It takes a very long time to build this project on my Chromebook, far longer than on my low-end Minus Forum UM250 development box. Developing on the UM250 is reasonable, the Chromebook pushes my patience a bit. Unfortunately if all you have is a Chromebook like this Lenovo, then you go with what you have. I do say that simpler development with Visual Studio Code and Rust or Python is a far better experience than developing with Android Studio.

Having said that, I admit to be very impressed that it all worked as it should on the Chromebook. That speaks to the high quality of Android Studio and Chrome OS itself. For a beginning developer or a developer on a budget, you can get a tremendous amount done with a Lenovo if properly configured up front (Intel i3, 8GB RAM, 128GB SSD storage). For highschool STEM students or undergraduate college students (freshman and sophomore) it’s a great deal. And a Chromebook has all the other tools built-in for doing all the work required of students (writing papers, for example).

Another observation about working on a Chromebook with this Android Studio project is that two project files have been modified; .idea/gradle.xml and .idea/misc.xml. These were changed when I configured the project to work on the Chromebook. Do I check those files into main on GitHub, or do I create a branch for working on ChromeOS and then check them into that branch? Do I even want to bother? Since this was meant to be a proof-of-concept exercise, I’ll need to give that some more thought.

migrating to fedora 36

Today I finally pulled the trigger and migrated my little development system from Pop!_OS 22.04 to Fedora 36. Up to the final moment of migration I’d been vacillating all over the place about what I would replace Pop!_OS with, until it came time to do the task, at which point I shrugged my shoulders and selected Fedora. Fedora isn’t perfect and I have some issues with having Parental Controls uninstallable, but Fedora has no unpleasant surprises communicating with all my USB-connected embedded developer boards. The only issue that cropped up is forgetting to add the login accounts to the dialout group. Interestingly, that was done automatically in Pop!_OS, but that good deed was overshadowed by the inclusion of brltty in the installation, that could only be stopped by systemctl. I’d lost trust in Pop!_OS.

In order to make this transition as smooth as possible I added a second SATA3 500GB SSD drive to the system (I’d had it for years as an external USB drive for my Raspberry Pi boards), and then copied my entire home directory onto that drive. In order to minimize risk in the transition I pulled the existing SSD with Pop!_OS installed and installed a brand new blank 500GB SSD in its place.

The new drive, a TIMETEC 512GB SATA3 SSD Model MS06

This was the TIMETEC SATA3 SSD Model MS06. I ordered it from Amazon for US$45. That’s not a misprint. As a retired guy I’m on a super-tight budget with no money to waste. If I can find a piece of hardware that is cheap enough and reliable enough, I’ll consider it over the best-of-breed in the same category any day. And so I ordered one of these. When it arrived it took less than five minutes to swap it in place of the existing drive. I’d already copied a Fedora 36 ISO onto an old 8GB thumb drive using Balena Etcher. I then plugged in the thumb drive, powered back up, and installed Fedora. I took all the defaults, nothing unusual.

When the system rebooted I created two accounts, one to mirror the older system named popos, and a second named admin. I logged out of the new popos and into admin, and then sudoed to root. I moved the original popos home directory out of the way and then performed a recursive copy of the older popos home I’d copied while the system was running Pop!_OS into /home on Fedora. Once the copy was complete I performed a recursive change of ownership (chown -R popos:popos /home/popos) on the copied popos home. You have to do that because the copy as root means root owns it all. Log out of admin and back into popos, and check out a few things to make sure it all works. Thankfully it all does.

I had to install Vivaldi onto Fedora. Once that was installed I was able to start it up. All my open tabs were still there, as was all the metadata and passwords from when I was running under Pop!_OS. I also had to reinstall Java (Amazon Corretto 17.0.3) , Gradle, Google Go, and vim. Why is it that every distribution doesn’t come with vim installed by default? I checked out my ESP IDF installation and everything works. I’ve been working with Flutter 3, so I had to install support for it. I installed clang, ninja-build, and gtk3-devel. With those installed flutter doctor gave the installation a clean bill of heath.

Although it’s probably just my imagination, I think the system overall is a little faster. Maybe a little snappier. I’m sure I’ll run into something that I’ll complain about, but so far, I’m totally pleased with how this has turned out. Based on my past experiences it could have gone a whole lot worse. I’ll keep the other drive for a while, just in case. But at some point I’ll probably swap it back in, wipe it clean, install Fedora on it, and transfer back to it. The drive that got replaced is a Western Digital Blue 1TB SSD I paid US$88 for back in December when it was on sale. I could afford that back then. I didn’t buy one this time because the price has risen to $120, which blew the budget. I felt guiltt enough spending $45 on the TIMETEC.

So we’ll see how the TIMETEC works out. Did I just waste $45? Only time will tell. So far I certainly can’t complain.

Update 20 May

You also need to install dnf package python3-tkinter, as it’s not installed automatically with Python 3.