diff --git a/photark-client-android/pom.xml b/photark-client-android/pom.xml
new file mode 100644
index 0000000..88ffee4
--- /dev/null
+++ b/photark-client-android/pom.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.apache.photark</groupId>
+		<artifactId>photark-parent</artifactId>
+		<version>1.0-incubating-SNAPSHOT</version>
+		<relativePath>../pom.xml</relativePath>
+	</parent>
+	<artifactId>photark-client-android</artifactId>
+	<name>Apache PhotArk Android Client</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.photark</groupId>
+			<artifactId>photark</artifactId>
+			<version>1.0-incubating-SNAPSHOT</version>
+		</dependency>
+		
+        <dependency>
+			<groupId>org.apache.photark</groupId>
+			<artifactId>photark-jcr</artifactId>
+			<version>1.0-incubating-SNAPSHOT</version>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.apache.photark</groupId>
+			<artifactId>photark-search</artifactId>
+			<version>1.0-incubating-SNAPSHOT</version>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.apache.photark</groupId>
+			<artifactId>photark-security</artifactId>
+			<version>1.0-incubating-SNAPSHOT</version>
+		</dependency>
+		
+        <!-- Tuscany Dependencies -->
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-sca-api</artifactId>
+			<version>${tuscany.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-data-api</artifactId>
+			<version>${tuscany.version}</version>
+		</dependency>
+
+         <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-api</artifactId>
+            <version>${tuscany.version}</version>
+        </dependency>
+
+		<dependency>
+    		<groupId>com.google.android</groupId>
+    		<artifactId>android</artifactId>
+   	 		<version>2.2.1</version>
+    		<scope>provided</scope>
+  		</dependency>
+
+		<!-- Use Log4J for logging -->
+        <dependency>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-api</artifactId>
+          <version>1.5.8</version>
+        </dependency>
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-log4j12</artifactId>
+			<version>1.5.8</version>
+		</dependency>
+
+		<dependency>
+			<groupId>commons-lang</groupId>
+			<artifactId>commons-lang</artifactId>
+			<version>2.4</version>
+		</dependency>
+	
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.5</version>
+			<scope>test</scope>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+        		<groupId>com.jayway.maven.plugins.android.generation2</groupId>
+            	<artifactId>maven-android-plugin</artifactId>
+                <configuration>
+                	<sdk>
+                        <path>${env.ANDROID_HOME}</path>
+                        <platform>2.2.1</platform>
+                    </sdk>
+                </configuration>
+                <extensions>true</extensions>
+            </plugin>
+		</plugins>
+		<finalName>${artifactId}</finalName>
+	</build>
+</project>
diff --git a/pom.xml b/pom.xml
index 977207d..35dc685 100644
--- a/pom.xml
+++ b/pom.xml
@@ -221,6 +221,7 @@
                 <module>photark-appengine-webapp</module>                
                 <module>photark-face-recognition</module>
                 <module>photark-webapp</module>
+                <module>photark-client-android</module>
             </modules>
         </profile>
 
@@ -245,6 +246,7 @@
                 <module>photark-face-recognition</module>
                 <module>photark-social</module>
                 <module>photark-webapp</module>
+                <module>photark-client-android</module>
             </modules>
         </profile>
 
@@ -270,6 +272,7 @@
                 <module>photark-face-recognition</module>
                 <module>photark-social</module>
                 <module>photark-webapp</module>
+                <module>photark-client-android</module>
             </modules>
         </profile>
         <!-- ====================================================================== -->
