Skip to main content

Android and Mono

It's been a while since I touched my personal Android 4 repository hosted on my aging Latitude D630 and its Fedora 14 installation. I started hosting (and building) Android 4 just to get the experience in handling that particular project, as well as creating my own version of ICL to run on my Nook Color (Encore). The directions were initially written for CyanogenMod 7.x (Gingerbread) but are still pretty accurate (for the most part) for CyanogenMod 9.x (Ice Cream Sandwich). The only problem being the following:

After performing repo sync (which is what I started with this time), during the build process, I ran into a build-halting error where libjackpal-androidterm4.so could not be found. Sure enough I didn't have that, just the earlier libjackpal-androidterm3.so. Looking around a bit on the internets I found the solution: right before build cd into cm/vendor and execute get-prebuilts. This will unpack term.apk and give you the correct library to build against. DO NOT do what I read elsewhere, which is to create a libjackpal-androidterm4.so soft link to libjackpal-androidterm3.so. Just Do The Right Thing and install the correct library.

After hours of building (since this is a smallish Core 2 Duo T7700) the build process finished and left me with a 131MB CyanogenMod 9 zip file. I need to decide now if I'll flash this directly or try one again to create a µSD card-based installation, like I have my CyanogenMod 7.2 installation set up. The current CM9 zip is too large for the image, and I need to find a way to create a disk image rather than use the older but smaller one floating about the web.

But wait, there's more! I decided to install the latest Mono and play around with it a bit. Since the latest version on Fedora 14 is 2.6.7, and there aren't going to be any updates to this distribution any more (there haven't been for a while now), I decided to bootstrap 2.11 from Mono's git repository. That meant finding a spot on the drive to clone a copy of the current release (2.11) and then execute a build. It was during the configuration process that I noticed this latest version had the potential to use LLVM as a backend. After noodling a bit more on the internets I set up the configuration with --enable-llvm=yes and installed Fedora 14's stock llvm (yum install llvm-core llvm-devel). Unfortunately the build failed with the helpful (really) message that you couldn't build against stock LLVM. You had to install and use the special version Just For Mono. Oh well, at least I tried. In the end I just built Mono 2.11 "stock", and I'll be playing a bit with it when time allows. And who knows, maybe I'll even get crazy and port Android to C# via Mono, since that's what I've got in the back of my mind.

Comments

Popular posts from this blog

cat-in-a-box channels greta garbo

So I'm sitting at my computer, when I start to notice a racket in back. I ignore it for a while until I hear a load "thump!", as if something had been dropped on the floor, followed by a lot of loud rattling. I turn around and see Lucy in the box just having a grand old time, rolling around and rattling that box a good one. I grab the GX1 and snap a few shots before she notices me and the camera, then leaps out and back into her chair (which used to be my chair before she decided it was her chair).

Just like caring for Katie my black Lab taught me about dogs, caring for Lucy is teaching me about cats. She finds me fascinating, as I do her. And she expresses great affection and love toward me without coaxing. I try to return the affection and love, but she is a cat, and she takes a bat at me on occasion, although I think that's just her being playful. She always has her claws in when she does that.

She sits next to me during the evening in her chair while I sit in mi…

vm networking problem fixed

Over the weekend I upgraded to Windows 8.1, then discovered that networking for the virtual machines wouldn't work. Then I tried something incredibly simple and fixed the problem.

Checking the system I noticed that three VMware Windows services weren't running; VMnetDHCP, VMUSBArbService, and VMwareNatService. VMware Player allows you to install, remove, or fix an existing installation. I chose to try fixing the installation, and that fixed the problem. The services were re-installed/restarted, and the virtual machines had networking again.

Once network connectivity was established there was exactly one updated file for Ubuntu 13.10, a data file. This underscores how solid and finished the release was this time. Every other version of every other Linux installation I've ever dealt with has always been succeeded by boatloads of updates after the initial installation. But not this time.

Everything is working properly on my notebook. All's right with the world.

first night for the gingersnaps

The first night has passed and the two have managed to survive, in spite of what their tiny hearts might have thought when first arriving. Greebo, the larger of the two, has been in hiding the entire time so far. Ponder has spent the time zipping in and out of hiding spots, checking things out, and learning just how comfortable pillows are for resting your head.

During the night I felt the tiny body of Ponder hitting the bed as he leaped up on the side, and then climbed to the top to run around on top of me. At least once he play-attacked my fingers. He might be small but his claws are still quite sharp.

When I got up in the morning the bowl of cat kitten food was fairly well depleted. It's been refilled and fresh water put in the big dish on the floor. I'm assuming that both Greebo and Ponder are feeding and drinking. I have seen Greebo under the furniture peeking out at me when I went looking for him. I'm leaving him alone while he continues to adjust.

So far the guys h…