This directory contains the Android-specific code for building xscreensaver. It is preliminary, and very much a work in progress. If you're messing with this, please let us know! dennis@panaceasupplies.com jwz@jwz.org To build: Install JDK 7 (http://www.oracle.com/technetwork/java/javase/downloads/) Install Android Studio (http://developer.android.com/sdk/) Install Android NDK (http://developer.android.com/ndk/downloads) Rename or link the "android-ndk-*" directory to "ndk" inside your $ANDROID_HOME (the "sdk/" directory that is the parent of "build-tools/", etc.) That is, it should be "sdk/ndk/". set $ANDROID_HOME to where your SDK is installed, or set "sdk.dir" in project/local.properties. On MacOS, the value you want is probably ~/Library/Android/sdk/ Also set "ndk.dir" in project/local.properties. cd android make If it fails, try a "make clean" and then try make again. Make sure you have the needed Android SDK platform versions installed. Hopefully an "xscreensaver-debug.apk" file will appear in android/project/xscreensaver/build/outputs/apk/. Load that onto your device and go to: Settings / Display / Wallpaper / Live Wallpapers. To launch the emulator: $ANDROID_HOME/sdk/tools/emulator -avd Nexus_5_API_21_x86 To load it into the currently-running emulator: $ANDROID_HOME/platform-tools/adb install -r \ project/xscreensaver/build/outputs/apk/xscreensaver-debug.apk The files in these subdirectories are source code, more or less: project/xscreensaver/*.xml project/xscreensaver/src/org/jwz/xscreensaver/ project/GLWallpaperService/ (a third-party library, unchanged) These directories are boilerplate for Android apps: project/xscreensaver/res/layout/ project/xscreensaver/res/values/ project/xscreensaver/res/xml/ project/xscreensaver/res/drawable-ldpi/ project/xscreensaver/res/drawable-mdpi/ project/xscreensaver/res/drawable-hdpi/ project/xscreensaver/res/drawable/thumbnail.png These are files that we generate: project/xscreensaver/src/org/jwz/xscreensaver/gen/ These too (intermediate build files): .gradle/ gen/ project/GLWallpaperService/build/ project/build/ project/xscreensaver/build/ project/xscreensaver/libs/ project/xscreensaver/obj/ project/xscreensaver/res/xml/ These are files that we *will* generate but don't yet: project/xscreensaver/res/drawable/*.png XScreenSaverView.c When adding a new hack, edit: project/xscreensaver/jni/Android.mk project/xscreensaver/build.gradle generate_files.pl