Building Android SDK on Fedora 20

See Building Android Tools and Fedora Android Setup for reference. Commands like yum have to be sudo’ed or run by root, all other commands should be run by an ordinary user.

Make sure you have about 30-100 Gigs HD space available (depending on on what you build).

Since fedora 20 starts out with kernel 3.11, I updated to 3.13 (probably not necessary, but I really like 3.13). Reboot if you updated your kernel:

yum update

Install android emulator 32 bit packages:

yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

Install other needed packages:

yum install gcc gcc-c++ gperf flex bison glibc-devel.{x86_64,i686} zlib-devel.{x86_64,i686} ncurses-devel.i686 libsx-devel readline-devel.i686 perl-Switch git gpg schedtool

Make sure you have javac:

yum install java-1.7.0-openjdk-devel.x86_64

Alternatively, you can install all required packages with one command:

yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 \
ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686 gcc gcc-c++ gperf \
flex bison glibc-devel.{x86_64,i686} zlib-devel.{x86_64,i686} ncurses-devel.i686 libsx-devel \
readline-devel.i686 perl-Switch git gpg java-1.7.0-openjdk-devel.x86_64 schedtool

Install repo:

mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Make sure repo works (on my freshly installed fedora 20, ~/bin was already in the path).

Check out sources. repo sync can take a long time. Another example for -g would be -g all,-notdefault,-device,-mips,-eclipse,-darwin to omit builds you probably don’t need. You might also adapt the -b flag for another android version (e.g. -b android-sdk-4.4.2_r1), but branches other than master might not support building on Open JDK 7. Also append --config-name if you want to change your git developer name.

mkdir ~/android
cd ~/android
repo init -u https://android.googlesource.com/platform/manifest -g all,-notdefault
repo sync

Create the cache:

echo "export USE_CCACHE=1" >> ~/.bashrc
export USE_CCACHE=1
prebuilts/misc/linux-x86/ccache/ccache -M 25G

Use JDK 7:

echo "export EXPERIMENTAL_USE_JAVA7=true" >> ~/.bashrc
export EXPERIMENTAL_USE_JAVA7=true

Build (adjust make -jn for the number of cores / hardware threads in your machine). The code here juse uses the number of available CPUs. According to the Replicant SDK build instructions best results on fast hardware will come with -j9, -j16 and -j32:

. build/envsetup.sh
lunch sdk-eng
parallel_tasks=$(echo "$(grep 'processor' /proc/cpuinfo | wc -l ) + 1" | bc)
make -j$parallel_tasks sdk

Some output files are located at:

out/host/linux-x86/sdk/
out/host/linux-x86/bin/

Your SDK zip should be located here: out/host/linux-x86/sdk/android-sdk_eng.<username>_linux-x86.zip

Notes

If you’re only interested in adb and fastboot (e.g., for bootstrapping a cyanogen mod device build), then just make those:

make fastboot adb

On my machine the adb and fastboot didn’t work very well, but the ones from a Replicant SDK build did.

Hack for iPad is released, based on the original 1.0.3

As requested by readers, this Hack prototype you might have glanced over a year ago on this blog is now cleaned up and got approved by Apple. It’s now available on the app store. It’s based on a BSD version of Hack 1.0.3 published by Andries Brouwer, which in turn is based on Jay Fenlason’s Hack.

Please be aware that this is a very old game (originally published in 1985), lacking many of the refinements of the latest and greatest NetHack 3.4.3.

If that doesn’t deter you from buying it, please make sure to let me know by mail or in the comments of any problems you encounter that are platform-related.

RogueTerm 1.02 released

I just approved 1.02 for app store release, it should go live soon. Among many bug fixes and UI improvements the main aim for this release has been full compatibility with Dungeon Crawl Stone Soup (DCSS).

RogueTerm 1.02 (iTunes)

From the changelog:

  • DPad support for DCSS
  • Full support for DCSS 0.9.1
  • Support for iPad portrait orientation
  • Fixed bugs that prevented return-key to work properly
  • Can properly use backspace in engrave in NetHack
  • Support for several DCSS UTF-8 chars, like trees and water
  • Support for port in server name, like crawl.develz.org:345
  • More robust error handling
Happy dungeon crawling!

Vanilla NetHack 3.4.3 Binaries (Terminal Port) for OSX Lion

Since I had to test something on a pure TTY vanilla NetHack anyway, and as always it took me a while to figure all the minimal patches out, I decided to upload the result to github. Then I realized that OSX Lion users are no longer able to download the official NetHack Mac binaries due to lack of Rosetta, so made the whole thing into a binary distribution as well.

It’s a single-player dist that you have to extract directly into your home folder, so you’ll get ~/NetHack as a result. If you want to relocate the installation you have to do so manually (think setting HACKDIR or editing the main script).

Download NetHack 3.4.3 Terminal Port for OSX Lion

Please let me know if you run into any trouble.

Happy hacking!

RogueTerm 1.01 queued for release

RogueTerm 1.01 contains some quick bug fixes, including:

  • Deleting servers is permanent
  • Adding Meta-Chars to the action bar should now work without crashes
  • Clarified that IBMGraphics is currently not supported, use DECGraphics instead. Please contact me if your game/server doesn’t support this (see the built-in Help for details).
Happy NetHacking and Crawling!
Icon

RogueTerm is released

RogueTerm is available right now in the app store . Get it now while supply lasts and connect to your favorite roguelike server. And don’t forget to let me know about your experience with it.

Features:

  • Works out-of-the-box for NetHack
  • Movable on-screen D-Pad with vi-keys
  • Run-support in NetHack with tap-and-hold on any D-Pad key
  • Freely configurable action bar that contains your most often used commands
  • Switch easily between different action bar configurations
Screen-2BShot-2B2011-08-16-2Bat-2B3.34.18-2BPM

RogueTerm, a dedicated Roguelike Telnet Client

I’ve used it mostly for connecting to NetHack servers, but DCSS looks playable too. The 0.9.0 seems to have some glitches due to UTF-8, but nothing preventing you from playing (and should be fixed soon). You can add and delete servers and create and edit shortcuts.

It’s an iOS 4.x universal app with retina support and should appear in the app store soon (next Wednesday if all goes as planned).

App store link to follow as soon as it’s final.

Here are some screenshots: