2 This directory contains the Android-specific code for building xscreensaver.
4 It is preliminary, and very much a work in progress.
6 If you're messing with this, please let us know!
8 dennis@panaceasupplies.com
14 Install JDK 7 (http://www.oracle.com/technetwork/java/javase/downloads/)
15 Install Android Studio (http://developer.android.com/sdk/)
16 Install Android NDK (http://developer.android.com/ndk/downloads)
17 Rename or link the "android-ndk-*" directory to "ndk" inside your
18 $ANDROID_HOME (the "sdk/" directory that is the parent of
19 "build-tools/", etc.) That is, it should be "sdk/ndk/".
21 set $ANDROID_HOME to where your SDK is installed, or
22 set "sdk.dir" in project/local.properties.
23 On MacOS, the value you want is probably ~/Library/Android/sdk/
24 Also set "ndk.dir" in project/local.properties.
29 If it fails, try a "make clean" and then try make again.
30 Make sure you have the needed Android SDK platform versions installed.
32 Hopefully an "xscreensaver-debug.apk" file will appear in
33 android/project/xscreensaver/build/outputs/apk/.
35 Load that onto your device and go to:
36 Settings / Display / Wallpaper / Live Wallpapers.
38 To launch the emulator:
39 $ANDROID_HOME/sdk/tools/emulator -avd Nexus_5_API_21_x86
41 To load it into the currently-running emulator:
42 $ANDROID_HOME/platform-tools/adb install -r \
43 project/xscreensaver/build/outputs/apk/xscreensaver-debug.apk
46 The files in these subdirectories are source code, more or less:
48 project/xscreensaver/*.xml
49 project/xscreensaver/src/org/jwz/xscreensaver/
50 project/GLWallpaperService/ (a third-party library, unchanged)
52 These directories are boilerplate for Android apps:
54 project/xscreensaver/res/layout/
55 project/xscreensaver/res/values/
56 project/xscreensaver/res/xml/
57 project/xscreensaver/res/drawable-ldpi/
58 project/xscreensaver/res/drawable-mdpi/
59 project/xscreensaver/res/drawable-hdpi/
60 project/xscreensaver/res/drawable/thumbnail.png
62 These are files that we generate:
64 project/xscreensaver/src/org/jwz/xscreensaver/gen/
66 These too (intermediate build files):
70 project/GLWallpaperService/build/
72 project/xscreensaver/build/
73 project/xscreensaver/libs/
74 project/xscreensaver/obj/
75 project/xscreensaver/res/xml/
77 These are files that we *will* generate but don't yet:
79 project/xscreensaver/res/drawable/*.png
82 When adding a new hack, edit:
84 project/xscreensaver/jni/Android.mk
85 project/xscreensaver/build.gradle