diff --git a/hooks/after_prepare/060_prepare_android_manifest.js b/hooks/after_prepare/060_prepare_android_manifest.js
new file mode 100755
index 0000000000000000000000000000000000000000..2ec38cb74ca0ab8cac1f4c74dbf80135820ca24f
--- /dev/null
+++ b/hooks/after_prepare/060_prepare_android_manifest.js
@@ -0,0 +1,44 @@
+#!/usr/bin/env node
+"use strict";
+var gulp = require('gulp');
+var path = require("path");
+var replace = require('gulp-replace');
+
+var rootdir = process.argv[2];
+
+if (rootdir) {
+
+  // go through each of the platform directories that have been prepared
+  var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []);
+
+  for(var x=0; x<platforms.length; x++) {
+
+    var platform = platforms[x].trim().toLowerCase();
+
+    if(platform == 'android') {
+      var platformPath = path.join(rootdir, 'platforms', platform);
+      var androidManifestFile = path.join(platformPath, 'AndroidManifest.xml');
+
+      // Clean unused directories
+      console.log('-----------------------------------------');
+      console.log(' Updating file: ' + androidManifestFile);
+      gulp.src(androidManifestFile)
+
+        // Add 'tools' namespace to root tag
+        .pipe(replace(/(xmlns:android="http:\/\/schemas.android.com\/apk\/res\/android")\s*>/g, '$1 xmlns:tools="http://schemas.android.com/tools">'))
+
+        // <uses-sdk> : if many, keep only one
+        .pipe(replace(/(<uses-sdk [^>]+>)(:?[\n\r\s\t ]*<uses-sdk [^>]+>)+/mg, '$1'))
+
+        // <uses-sdk> : Replace 'targetSdkversion' and add tools:overrideLibrary
+        .pipe(replace(/android:targetSdkVersion="[^"]+"\s*\/>/g, 'android:targetSdkVersion="23" tools:overrideLibrary="org.kaliumjni.lib" />'))
+
+        .pipe(gulp.dest(platformPath));
+
+      console.log('-----------------------------------------');
+    }
+
+
+  }
+}
+