code: function (targetFile, configItems) {
              var tempManifest = platformConfig.parseElementtreeSync(targetFile),
                  root = tempManifest.getroot();
  
              _.each(configItems, function (item) {
                  // if parent is not found on the root, child/grandchild nodes are searched
                  var parentEl = root.find(item.parent) || root.find('*/' + item.parent),
                      data = item.data,
                      childSelector = item.destination,
                      childEl;
  
                  if(!parentEl) {
                      return;
                  }
  
                  if(item.type === 'preference') {
                      parentEl.attrib[childSelector] = data.attrib['value'];
                  } else {
                      // since there can be multiple uses-permission elements, we need to select them by unique name
                      if(childSelector === 'uses-permission') {
                          childSelector += '[@android:name=\'' + data.attrib['android:name'] + '\']';
                      }
  
                      childEl = parentEl.find(childSelector);
                      // if child element doesnt exist, create new element
                      if(!childEl) {
                          childEl = new et.Element(item.destination);
                          parentEl.append(childEl);
                      }
  
                      // copy all config.xml data except for the generated _id property
                      _.each(data, function (prop, propName) {
                          if(propName !== '_id') {
                              childEl[propName] = prop;
                          }
                      });
                  }
              });
  
              fs.writeFileSync(targetFile, tempManifest.write({indent: 4}), 'utf-8');
          }
docs: Updates the AndroidManifest.xml target file with data from config.xml