diff --git a/ANDROID-CHANGES.txt b/ANDROID-CHANGES.txt
new file mode 100644
index 0000000..d4cade0
--- /dev/null
+++ b/ANDROID-CHANGES.txt
@@ -0,0 +1,8 @@
+
+Change made for Android
+
+1) Change coverage.out.file location in core/res/emma_default.properties to /data/coverage.ec
+2) Remove reference to sun.misc.* in core/java14/com/vladium/util/IJREVersion.java
+3) Remove reference to sun.misc.* and SunJREExitHookManager class from core/java13/com/vladium/util/exit/ExitHookManager.java
+4) Add java.security.cert.Certificate cast to core/java12/com/vladium/emma/rt/InstrClassLoader.java to fix compiler error
+5) Copy /core/res/com/vladium/emma/rt/RTExitHook.closure into source tree so it does not have to be generated in the build
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..7c5b34c
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,14 @@
+# Copyright 2008 The Android Open Source Project
+
+LOCAL_PATH := $(my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, core)
+
+LOCAL_MODULE := emma
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_JAVA_RESOURCE_DIRS := core/res
+
+include $(BUILD_JAVA_LIBRARY)
diff --git a/core/java12/com/vladium/emma/rt/InstrClassLoader.java b/core/java12/com/vladium/emma/rt/InstrClassLoader.java
index b8c4277..7732d0e 100644
--- a/core/java12/com/vladium/emma/rt/InstrClassLoader.java
+++ b/core/java12/com/vladium/emma/rt/InstrClassLoader.java
@@ -16,6 +16,7 @@
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.security.CodeSource;
+import java.security.cert.Certificate;
 import java.util.Map;
 
 import com.vladium.logging.Logger;
@@ -343,7 +344,7 @@
         // support ProtectionDomains with non-null class source URLs:
         // [however, disable anything related to sealing or signing]
         
-        final CodeSource csrc = new CodeSource (srcURL, null);
+        final CodeSource csrc = new CodeSource (srcURL, (Certificate[])null);
         
         // allow getPackage() to return non-null on the class we are about to
         // define (however, don't bother emulating the original manifest info since
@@ -459,4 +460,4 @@
     private static final URL [] EMPTY_URL_ARRAY = new URL [0];
     
 } // end of class
-// ----------------------------------------------------------------------------
\ No newline at end of file
+// ----------------------------------------------------------------------------
diff --git a/core/java12/com/vladium/util/IntVector.java b/core/java12/com/vladium/util/IntVector.java
index 2bc4a99..3e159be 100644
--- a/core/java12/com/vladium/util/IntVector.java
+++ b/core/java12/com/vladium/util/IntVector.java
Binary files differ
diff --git a/core/java13/com/vladium/util/exit/ExitHookManager.java b/core/java13/com/vladium/util/exit/ExitHookManager.java
index c119268..2bcee9f 100644
--- a/core/java13/com/vladium/util/exit/ExitHookManager.java
+++ b/core/java13/com/vladium/util/exit/ExitHookManager.java
@@ -11,9 +11,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import sun.misc.Signal;
-import sun.misc.SignalHandler;
-
 import com.vladium.util.IJREVersion;
 import com.vladium.util.Property;
 import com.vladium.emma.IAppConstants;
@@ -40,10 +37,6 @@
             {
                 s_singleton = new JRE13ExitHookManager ();
             }
-            else if (JRE_SUN_SIGNAL_COMPATIBLE)
-            {
-                s_singleton = new SunJREExitHookManager ();
-            }
             else
             {
                 throw new UnsupportedOperationException ("no shutdown hook manager available [JVM: " + Property.getSystemFingerprint () + "]");
@@ -124,129 +117,7 @@
         
     } // end of nested class
     
-    
-    private static final class SunJREExitHookManager extends ExitHookManager
-    {
-        public synchronized boolean addExitHook (final Runnable runnable)
-        {
-            if ((runnable != null) && ! m_signalHandlerMap.containsKey (runnable))
-            {
-                final INTSignalHandler handler = new INTSignalHandler (runnable);
-                
-                try
-                {
-                    handler.register ();
-                    m_signalHandlerMap.put (runnable, handler); // TODO: use identity here
-                    
-                    return true;
-                }
-                catch (Throwable t)
-                {
-                    System.out.println ("exception caught while adding a shutdown hook:");
-                    t.printStackTrace (System.out);
-                }
-            }
-            
-            return false;
-        }
-        
-        public synchronized boolean removeExitHook (final Runnable runnable)
-        {
-            if (runnable != null)
-            {
-                final INTSignalHandler handler = (INTSignalHandler) m_signalHandlerMap.get (runnable);  // TODO: use identity here
-                if (handler != null)
-                {
-                    try
-                    {
-                        handler.unregister ();
-                        m_signalHandlerMap.remove (runnable);
-                        
-                        return true;
-                    }
-                    catch (Exception e)
-                    {
-                        System.out.println ("exception caught while removing a shutdown hook:");
-                        e.printStackTrace (System.out);
-                    }
-                }
-            }
-            
-            return false;
-        }
-        
-        SunJREExitHookManager ()
-        {
-            m_signalHandlerMap = new HashMap ();
-        }
-        
-        
-        private final Map /* Runnable->INTSignalHandler */ m_signalHandlerMap;
-        
-    } // end of nested class
-    
-    
-    private static final class INTSignalHandler implements SignalHandler
-    {
-        public synchronized void handle (final Signal signal)
-        {
-            if (m_runnable != null)
-            {
-                try
-                {
-                    m_runnable.run ();
-                }
-                catch (Throwable ignore) {}
-            }
-            m_runnable = null;
-            
-            if ((m_previous != null) && (m_previous != SIG_DFL) && (m_previous != SIG_IGN))
-            {
-                try
-                {
-                    // this does not work:
-                    //Signal.handle (signal, m_previous);
-                    //Signal.raise (signal);
-                    
-                    m_previous.handle (signal);
-                }
-                catch (Throwable ignore) {}
-            }
-            else
-            {
-                System.exit (0);
-            }
-        }
-        
-        INTSignalHandler (final Runnable runnable)
-        {
-            m_runnable = runnable;
-        }
-       
-        synchronized void register ()
-        {
-            m_previous = Signal.handle (new Signal ("INT"), this);
-        }
-        
-        synchronized void unregister ()
-        {
-//            if (m_previous != null)
-//            {
-//                Signal.handle (new Signal ("INT"), m_previous);
-//                m_previous = null;
-//            }
-
-            m_runnable = null;
-        }
-
-
-        private Runnable m_runnable;
-        private SignalHandler m_previous;
-        
-    } // end of nested class
-    
-    
     private static ExitHookManager s_singleton;
     
 } // end of class
-// ----------------------------------------------------------------------------
\ No newline at end of file
+// ----------------------------------------------------------------------------
diff --git a/core/java14/com/vladium/util/IJREVersion.java b/core/java14/com/vladium/util/IJREVersion.java
index 866c3fe..7f3331a 100644
--- a/core/java14/com/vladium/util/IJREVersion.java
+++ b/core/java14/com/vladium/util/IJREVersion.java
@@ -82,14 +82,6 @@
             _JRE_1_4_PLUS = temp;
             
             temp = false;
-            try
-            {
-                Class.forName ("sun.misc.Signal");
-                Class.forName ("sun.misc.SignalHandler");
-                
-                temp = true;
-            }
-            catch (Throwable ignore) {}
             
             _JRE_SUN_SIGNAL_COMPATIBLE = temp;
         }
diff --git a/core/res/com/vladium/emma/rt/RTExitHook.closure b/core/res/com/vladium/emma/rt/RTExitHook.closure
new file mode 100644
index 0000000..366a00a
--- /dev/null
+++ b/core/res/com/vladium/emma/rt/RTExitHook.closure
@@ -0,0 +1,3 @@
+#this file is auto-generated, do not edit
+#Fri Feb 08 12:18:59 PST 2008
+closure=com.vladium.util.ResourceLoader,com.vladium.emma.rt.RTCoverageDataPersister,com.vladium.util.IntSet,com.vladium.logging.Logger,com.vladium.util.IntSet$Entry,com.vladium.emma.data.DataFactory$UCFileOutputStream,com.vladium.emma.rt.RTExitHook,com.vladium.util.ClassLoaderResolver$CallerResolver,com.vladium.emma.data.CoverageData,com.vladium.util.ClassLoadContext,com.vladium.emma.data.ClassDescriptor,com.vladium.util.Property$SystemPropertyLookup,com.vladium.util.IConstants,com.vladium.emma.data.IMetaData,com.vladium.emma.data.CoverageOptions,com.vladium.util.ClassLoaderResolver,com.vladium.emma.data.ICoverageData$DataHolder,com.vladium.emma.data.ISessionData,com.vladium.emma.data.DataFactory$UCFileInputStream,com.vladium.emma.data.IMetadataConstants,com.vladium.emma.data.MethodDescriptor,com.vladium.util.Property$SystemRedirectsLookup,com.vladium.emma.data.MetaData,com.vladium.logging.Logger$1,com.vladium.util.IClassLoadStrategy,com.vladium.emma.data.DataFactory$RandomAccessFileInputStream,com.vladium.emma.data.IMergeable,com.vladium.util.IntObjectMap,com.vladium.util.Property,com.vladium.logging.Logger$ThreadLocalStack,com.vladium.emma.data.DataFactory,com.vladium.emma.data.ICoverageData,com.vladium.emma.data.DataFactory$RandomAccessFileOutputStream,com.vladium.util.IntObjectMap$Entry,com.vladium.util.XProperties,com.vladium.util.ClassLoaderResolver$DefaultClassLoadStrategy,com.vladium.logging.ILogLevels,com.vladium.util.ClassLoaderResolver$1,com.vladium.util.Property$FilePropertyLookup
diff --git a/core/res/emma_default.properties b/core/res/emma_default.properties
index ec4fecb..8a3079d 100644
--- a/core/res/emma_default.properties
+++ b/core/res/emma_default.properties
@@ -48,7 +48,7 @@
 
 # runtime coverage data output properties:
 
-coverage.out.file:	coverage.ec
+coverage.out.file:	/data/coverage.ec
 coverage.out.merge:	true
 
 # -------------------------------------------------------------
diff --git a/lib/emma.jar b/lib/emma.jar
new file mode 100644
index 0000000..27629de
--- /dev/null
+++ b/lib/emma.jar
Binary files differ
diff --git a/lib/emma_ant.jar b/lib/emma_ant.jar
new file mode 100644
index 0000000..3f28c2c
--- /dev/null
+++ b/lib/emma_ant.jar
Binary files differ
