diff --git a/makefile/build.properties b/makefile/build.properties
index b7fcb9b..a231eef 100644
--- a/makefile/build.properties
+++ b/makefile/build.properties
@@ -19,7 +19,6 @@
 STUDIO_ROOT_BINARY = com.motorola.studio.android.android_root
 
 SIGNTOOL = ${BASE_DIR}/env/osslsigncode
-AUTHENTICODE_KEY = ${INPUT_DIR}/sign/MOTODEV_Studio_Authenticode_USMOTOX214.pvk
 
 #####################
 # Parameters describing how and where to execute the build.
diff --git a/makefile/build_server_structure.txt b/makefile/build_server_structure.txt
index 26fc5f1..973603b 100644
--- a/makefile/build_server_structure.txt
+++ b/makefile/build_server_structure.txt
@@ -3,6 +3,9 @@
 ./<version>/env
 ./<version>/env/ant-contrib
 ./<version>/env/code
+./<version>/env/code/android
+./<version>/env/code/android/makefile
+./<version>/env/code/android/src
 ./<version>/env/eclipse
 ./<version>/input
 ./<version>/input/repository
diff --git a/makefile/config.xml b/makefile/config.xml
index 7a7413f..0caa24a 100644
--- a/makefile/config.xml
+++ b/makefile/config.xml
@@ -45,18 +45,6 @@
     <!-- Publishers are run *after* a build completes -->
 	<publishers>
 		<artifactspublisher dest="/android/${path_name}/logs/${project_name}" dir="/android/${path_name}/output/output"/>
-		<htmlemail mailhost="serv070.corp.eldorado.org.br"
-			returnaddress="android.noreply@serv167.corp.eldorado.org.br" 
-			buildresultsurl="http://192.168.4.167:8080/dashboard/tab/build/detail/${project_name}" 
-			skipusers="true" spamWhileBroken="false" 
-			css="/android/${path_name}/env/cruisecontrol-bin-2.8.4/webapps/cruisecontrol/css/cruisecontrol.css"
-			xsldir="/android/${path_name}/env/cruisecontrol-bin-2.8.4/webapps/cruisecontrol/xsl"
-			subjectprefix="Build Android -">
-			<always address="daniel.pastore@eldorado.org.br"/>
-			<always address="julia.perdigueiro@eldorado.org.br" />
-			<success address="pablo.leite@eldorado.org.br"/>
-			<success address="paulo.faria@eldorado.org.br"/>
-		</htmlemail>
 	</publishers>
 	</project>
 	
diff --git a/makefile/eant b/makefile/eant
index d97f35f..141726a 100644
--- a/makefile/eant
+++ b/makefile/eant
@@ -7,11 +7,12 @@
 
 #[2012.03.03] Forcing git to update
 #Investigate later if bootstraper from config.xml is being used
-echo Forcing git to update
-chmod 0777 $BUILD_BASE_PATH/env/code/android/makefile/scripts/git_update.sh
-$BUILD_BASE_PATH/env/code/android/makefile/scripts/git_update.sh
+#echo Forcing git to update
+#chmod 0777 $BUILD_BASE_PATH/env/code/android/makefile/scripts/git_update.sh
+#$BUILD_BASE_PATH/env/code/android/makefile/scripts/git_update.sh
 
-$BUILD_BASE_PATH/env/eclipse/eclipse -nosplash -application org.eclipse.ant.core.antRunner -data $BUILD_BASE_PATH/env/workspace_product -buildfile $BUILD_BASE_PATH/env/code/android/makefile/studioBuild.xml -logger org.apache.tools.ant.XmlLogger -logfile $BUILD_BASE_PATH/log.xml
+$BUILD_BASE_PATH/env/eclipse/eclipse -nosplash -application org.eclipse.ant.core.antRunner -data $BUILD_BASE_PATH/env/workspace_product -buildfile $BUILD_BASE_PATH/env/code/android/makefile/studioBuild.xml -debug
+#-logger org.apache.tools.ant.XmlLogger -logfile $BUILD_BASE_PATH/log.xml
 
 
 
diff --git a/makefile/studioBuild.properties b/makefile/studioBuild.properties
index 77d26a8..9c712dc 100644
--- a/makefile/studioBuild.properties
+++ b/makefile/studioBuild.properties
@@ -9,11 +9,7 @@
 OUTPUT_METADATA_STUDIO = ${OUTPUT_DIR}/repository_studio
 OUTPUT_METADATA_STUDIO_BASIC = ${OUTPUT_DIR}/repository_studio_basic
 OUTPUT_METADATA_STUDIO_FULL = ${OUTPUT_DIR}/repository_full
-OUTPUT_UPDATESITE_NDK = ${OUTPUT_DIR}/ndk
-OUTPUT_UPDATESITE_ADDITIONS = ${OUTPUT_DIR}/additions
-OUTPUT_LANGPACK_INSTALLER = ${LANG_REPOSITORIES_DIR}/REPO_STUDIO_INSTALLER
-OUTPUT_LANGPACK_APPVALIDATOR = ${LANG_REPOSITORIES_DIR}/REPO_APPVALIDATOR
-OUTPUT_UPDATESITE_LANGPACK = ${LANG_REPOSITORIES_DIR}/REPO_STUDIO_UPDATESITE
+
 
 SETTINGS_DIR = ${MAKEFILE}/repository_settings
 
diff --git a/makefile/studioBuild.xml b/makefile/studioBuild.xml
index 85c8331..5b09735 100644
--- a/makefile/studioBuild.xml
+++ b/makefile/studioBuild.xml
@@ -29,7 +29,7 @@
 		
 		<mkdir dir="${OUTPUT_DIR}/output" />
 
-		<antcall target="check_plugins_needing_version_update" />
+		<!-- antcall target="check_plugins_needing_version_update" /-->
 
 		<!-- antcall target="build.app.validator.product" /-->
 
diff --git a/src/plugins/android.win32.x86/src/com/motorola/studio/android/nativeos/NativeUI.java b/src/plugins/android.win32.x86/src/com/motorola/studio/android/nativeos/NativeUI.java
index c70f3a5..f1780b9 100644
--- a/src/plugins/android.win32.x86/src/com/motorola/studio/android/nativeos/NativeUI.java
+++ b/src/plugins/android.win32.x86/src/com/motorola/studio/android/nativeos/NativeUI.java
@@ -61,7 +61,7 @@
     public long getWindowHandle(String windowName)
     {
         StudioLogger.debug(this, "Get native window handler for: " + windowName);
-        int windowHandle = 0;
+        long windowHandle = 0;
         try
         {
             TCHAR className = null;
diff --git a/src/plugins/android/plugin.xml b/src/plugins/android/plugin.xml
index 17abdc0..b2709ac 100644
--- a/src/plugins/android/plugin.xml
+++ b/src/plugins/android/plugin.xml
@@ -261,24 +261,6 @@
             </logContribution>
          </extension>
    <extension
-         point="biz.junginger.rss.eclipse.RssPlugin.channel">
-      <channel
-            name="MOTODEV Blog"
-            enablement="true"
-            url="http://feeds2.feedburner.com/MOTODEVBlog">
-      </channel>
-      <channel
-            name="MOTODEV Studio Blog"
-            enablement="true"
-            url="http://feeds2.feedburner.com/motodevstudioblog">
-      </channel>
-      <channel
-            name="MOTODEV Studio for Android discussion boards"
-            enablement="false"
-            url="http://community.developer.motorola.com/mtrl/rss/board?board.id=Studio_Android">
-      </channel>
-   </extension>
-   <extension
          point="org.eclipse.ui.commands">
       <command
             defaultHandler="com.motorola.studio.android.application.store.handlers.OpenMotorolaMobilityDevicePropertiesHandler"
