@nik2nik wrote:
I wan to modify android:windowSoftInputMode value from adjustResize to adjustPan. I've used the below hook update_androidManifest.js :
#!/usr/bin/env node // http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/ // this hook replaces arbitrary text in arbitrary files // // - To import "LogGrabber.h" class in Application PCH file. // // Author Varghese Abraham // module.exports = function(context) { var fs = require('fs'); var path = require('path'); var glob = require('glob'); var rootdir; if(context.opts.paths && context.opts.paths.length > 1){ rootdir = path.join(context.opts.paths[0], ".."); }else if(context.opts.projectRoot){ rootdir = context.opts.projectRoot; } console.log("STARTING IN: " + rootdir); function replace_string_in_file(filename, to_replace, replace_with) { var data = fs.readFileSync(filename, 'utf8'); var result = data.replace(new RegExp(to_replace, "g"), replace_with); fs.writeFileSync(filename, result, 'utf8'); } function find_string_in_file(filename, to_find) { var data = fs.readFileSync(filename, 'utf8'); var result = data.includes(to_find); return result; } if (rootdir) { //Update <Appname>-Prefix.pch file to import RPCLibrary LogGrabber class var appPCHFile = glob.sync("**/*-AndroidManifest.xml", { "cwd": rootdir }); appPCHFile.forEach(function(nfo, idx, array) { // Skip the PCH files generated by cordova/npm if (nfo && (nfo.indexOf("build") > -1 || nfo.indexOf("node_modules") > -1 || nfo.indexOf("plugins") > -1 || nfo.indexOf("xcarchive") > -1)) { return; } var replceText = "adjustResize"; var logGrabberImport = "adjustPan"; var fullfilename = path.join(rootdir, nfo.toString()); console.log("File to update " + fullfilename); console.log("Replace \"" + replceText + "\" with \n" + logGrabberImport); if (fs.existsSync(fullfilename)) { //Check if "LogGrabber.h" is already imported or not if (find_string_in_file(fullfilename, logGrabberImport)) { console.log("LogGrabber already imported"); return; } //Replace the texts replace_string_in_file(fullfilename, replceText, logGrabberImport); } else { console.log("missing: " + fullfilename); } }); } }I've included the below lines to my config.xml:
<hook type="after_build/" src="hooks/after_build/update_androidManifest.js" />When I run the command to create an android build, the android Manifest.xml file does not get modified. Am I missing something here or should I run extra command before building the apk file.
Thanks in advance.
Posts: 1
Participants: 1