[ 
https://issues.apache.org/jira/browse/CB-13104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Bale updated CB-13104:
----------------------------
    Description: 
I've searched for solutions to this problem, and found several reports of it, 
but no solutions.  Based on my many attempts to get something to work (I've 
tried phonegap, ionic, and just plain cordova), I started suspecting that 
there's a bug in the cordova android platform.  All my build attempts have been 
halted at this error message:

{{Error: Cannot read property 'length' of undefined}}

*Replicating this issue with phonegap:*

_I'm starting with phonegap because this is how I first encountered the error, 
and it seems to give me the most useful information with regard to where the 
error is happening._

$ npm install -g phonegap
npm WARN deprecated [email protected]: ReDoS vulnerability parsing Set-Cookie 
https://nodesecurity.io/advisories/130  
npm WARN deprecated [email protected]: Use uuid module instead                    
                                       
C:\Users\bbale\AppData\Roaming\npm\phonegap -> 
C:\Users\bbale\AppData\Roaming\npm\node_modules\phonegap\bin\phonegap.js
+ [email protected]                                                                
                                       
added 873 packages in 146.435s                                                  
                                       

$ phonegap create pgHello --id "com.pghello.app" --name "pgHello" --template 
hello-world
Creating a new cordova project.

$ cd pgHello

$ phonegap run android --verbose
[phonegap] executing 'cordova platform add --save android ' ...                 
                                                                                
                                        
Adding android project...                                                       
                                                                                
                                        
                                                                                
                                                                                
                                        
Creating Cordova project for the Android platform:                              
                                                                                
                                        
        Path: platforms\android                                                 
                                                                                
                                        
        Package: com.pghello.app                                                
                                                                                
                                        
        Name: pgHello                                                           
                                                                                
                                        
        Activity: MainActivity                                                  
                                                                                
                                        
        Android target: android-25                                              
                                                                                
                                        
                                                                                
                                                                                
                                        
Subproject Path: CordovaLib                                                     
                                                                                
                                        
                                                                                
                                                                                
                                        
Android project created with [email protected]                              
                                                                                
                                        

Discovered plugin "cordova-plugin-battery-status" in config.xml. Adding it to 
the project                                                                     
                                          

Fetching plugin "cordova-plugin-battery-status@~1.1.1" via npm                  
                                                                                
                                        

Installing "cordova-plugin-battery-status" for android                          
                                                                                
                                        

Saved plugin info for "cordova-plugin-battery-status" to config.xml             
                                                                                
                                        

Discovered plugin "cordova-plugin-camera" in config.xml. Adding it to the 
project                                                                         
                                              

Fetching plugin "cordova-plugin-camera@~2.1.1" via npm                          
                                                                                
                                        

Installing "cordova-plugin-camera" for android

Saved plugin info for "cordova-plugin-camera" to config.xml                     
                                                                                
                                        

Discovered plugin "cordova-plugin-media-capture" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-media-capture@~1.2.0" via npm                   
                                                                                
                                        

Installing "cordova-plugin-media-capture" for android                           
                                                                                
                                        

Fetching plugin "cordova-plugin-file" via npm                                   
                                                                                
                                        

Installing "cordova-plugin-file" for android                                    
                                                                                
                                        

Fetching plugin "cordova-plugin-compat" via npm                                 
                                                                                
                                        

Installing "cordova-plugin-compat" for android                                  
                                                                                
                                        

The Android Persistent storage location now defaults to "Internal". Please 
check this plugin's README to see if your application needs any changes in its 
config.xml.

If this is a new application no changes are required.                           
                                                                                
                                        

If this is an update to an existing application that did not specify an 
"AndroidPersistentFileLocation" you may need to add:                            
                                                

      "<preference name="AndroidPersistentFileLocation" value="Compatibility" 
/>"                                                                             
                                          

to config.xml in order for the application to find previously stored files.     
                                                                                
                                        

Saved plugin info for "cordova-plugin-media-capture" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-console" in config.xml. Adding it to the 
project                                                                         
                                             

Fetching plugin "cordova-plugin-console@~1.0.2" via npm                         
                                                                                
                                        

Installing "cordova-plugin-console" for android                                 
                                                                                
                                        

Saved plugin info for "cordova-plugin-console" to config.xml                    
                                                                                
                                        

Discovered plugin "cordova-plugin-contacts" in config.xml. Adding it to the 
project                                                                         
                                            

Fetching plugin "cordova-plugin-contacts@~2.0.1" via npm                        
                                                                                
                                        

Installing "cordova-plugin-contacts" for android                                
                                                                                
                                        

Saved plugin info for "cordova-plugin-contacts" to config.xml                   
                                                                                
                                        

Discovered plugin "cordova-plugin-device" in config.xml. Adding it to the 
project                                                                         
                                              

Fetching plugin "cordova-plugin-device@~1.1.1" via npm                          
                                                                                
                                        

Installing "cordova-plugin-device" for android                                  
                                                                                
                                        

Saved plugin info for "cordova-plugin-device" to config.xml                     
                                                                                
                                        

Discovered plugin "cordova-plugin-device-motion" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-device-motion@~1.2.0" via npm                   
                                                                                
                                        

Installing "cordova-plugin-device-motion" for android                           
                                                                                
                                        

Saved plugin info for "cordova-plugin-device-motion" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-device-orientation" in config.xml. Adding it 
to the project                                                                  
                                         

Fetching plugin "cordova-plugin-device-orientation@~1.0.2" via npm              
                                                                                
                                        

Installing "cordova-plugin-device-orientation" for android                      
                                                                                
                                        

Saved plugin info for "cordova-plugin-device-orientation" to config.xml         
                                                                                
                                        

Discovered plugin "cordova-plugin-dialogs" in config.xml. Adding it to the 
project                                                                         
                                             

Fetching plugin "cordova-plugin-dialogs@~1.2.0" via npm                         
                                                                                
                                        

Installing "cordova-plugin-dialogs" for android                                 
                                                                                
                                        

Saved plugin info for "cordova-plugin-dialogs" to config.xml                    
                                                                                
                                        

Discovered plugin "cordova-plugin-file-transfer" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-file-transfer@~1.5.0" via npm                   
                                                                                
                                        

Installing "cordova-plugin-file-transfer" for android                           
                                                                                
                                        

Dependent plugin "cordova-plugin-file" already installed on android.            
                                                                                
                                        

Saved plugin info for "cordova-plugin-file-transfer" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-geolocation" in config.xml. Adding it to the 
project                                                                         
                                         

Fetching plugin "cordova-plugin-geolocation@~2.1.0" via npm                     
                                                                                
                                        

Installing "cordova-plugin-geolocation" for android                             
                                                                                
                                        

Saved plugin info for "cordova-plugin-geolocation" to config.xml                
                                                                                
                                        

Discovered plugin "cordova-plugin-globalization" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-globalization@~1.0.3" via npm                   
                                                                                
                                        

Installing "cordova-plugin-globalization" for android                           
                                                                                
                                        

Saved plugin info for "cordova-plugin-globalization" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-inappbrowser" in config.xml. Adding it to the 
project                                                                         
                                        

Fetching plugin "cordova-plugin-inappbrowser@~1.3.0" via npm                    
                                                                                
                                        

Installing "cordova-plugin-inappbrowser" for android                            
                                                                                
                                        

Saved plugin info for "cordova-plugin-inappbrowser" to config.xml               
                                                                                
                                        

Discovered plugin "cordova-plugin-media" in config.xml. Adding it to the 
project                                                                         
                                               

Fetching plugin "cordova-plugin-media@~2.2.0" via npm                           
                                                                                
                                        

Installing "cordova-plugin-media" for android                                   
                                                                                
                                        

Dependent plugin "cordova-plugin-file" already installed on android.            
                                                                                
                                        

Saved plugin info for "cordova-plugin-media" to config.xml                      
                                                                                
                                        

Discovered plugin "cordova-plugin-network-information" in config.xml. Adding it 
to the project                                                                  
                                        

Fetching plugin "cordova-plugin-network-information@~1.2.0" via npm             
                                                                                
                                        

Installing "cordova-plugin-network-information" for android                     
                                                                                
                                        

Saved plugin info for "cordova-plugin-network-information" to config.xml        
                                                                                
                                        

Discovered plugin "cordova-plugin-splashscreen" in config.xml. Adding it to the 
project                                                                         
                                        

Fetching plugin "cordova-plugin-splashscreen@~3.2.1" via npm                    
                                                                                
                                        

Installing "cordova-plugin-splashscreen" for android                            
                                                                                
                                        

Saved plugin info for "cordova-plugin-splashscreen" to config.xml               
                                                                                
                                        

Discovered plugin "cordova-plugin-statusbar" in config.xml. Adding it to the 
project                                                                         
                                           

Fetching plugin "cordova-plugin-statusbar@~2.1.2" via npm                       
                                                                                
                                        

Installing "cordova-plugin-statusbar" for android                               
                                                                                
                                        

Saved plugin info for "cordova-plugin-statusbar" to config.xml                  
                                                                                
                                        

Discovered plugin "cordova-plugin-vibration" in config.xml. Adding it to the 
project                                                                         
                                           

Fetching plugin "cordova-plugin-vibration@~2.1.0" via npm                       
                                                                                
                                        

Installing "cordova-plugin-vibration" for android                               
                                                                                
                                        

Saved plugin info for "cordova-plugin-vibration" to config.xml                  
                                                                                
                                        

Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the 
project                                                                         
                                           

Fetching plugin "cordova-plugin-whitelist@~1.2.1" via npm                       
                                                                                
                                        

Installing "cordova-plugin-whitelist" for android                               
                                                                                
                                        

               This plugin is only applicable for versions of cordova-android 
greater than 4.0. If you have a previous platform version, you do *not* need 
this plugin since the whitelist will be built in.

Saved plugin info for "cordova-plugin-whitelist" to config.xml                  
                                                                                
                                        

--save flag or autosave detected                                                
                                                                                
                                        

Saving android@~6.1.2 into config.xml file ...                                  
                                                                                
                                        

[phonegap] completed 'cordova platform add --save android --no-telemetry'       
                                                                                
                                        
[phonegap] executing 'cordova build android --verbose ' ...                     
                                                                                
                                        
No scripts found for hook "before_build".                                       
                                                                                
                                        

No scripts found for hook "before_prepare".                                     
                                                                                
                                        

Checking config.xml for saved platforms that haven't been added to the project  
                                                                                
                                        

Checking for any plugins added to the project that have not been installed in 
android platform                                                                
                                          

No differences found between plugins added to project and installed in android 
platform. Continuing...                                                         
                                         

Generating platform-specific config.xml from defaults for android at 
C:\nodejs\apps\pgHello\platforms\android\res\xml\config.xml                     
                                                   

Merging project's config.xml into platform-specific android config.xml          
                                                                                
                                        

Merging and updating files from [www, platforms\android\platform_www] to 
platforms\android\assets\www                                                    
                                               

  copy  platforms\android\platform_www\cordova_plugins.js 
platforms\android\assets\www\cordova_plugins.js (updated file)                  
                                                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-battery-status\www\battery.js
 
platforms\android\assets\www\plugins\cordova-plugin-battery-status\www\battery.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\Camera.js 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\Camera.js 
(updated file)                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraConstants.js
 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraConstants.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraPopoverHandle.js
 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraPopoverHandle.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraPopoverOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraPopoverOptions.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\Contact.js 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\Contact.js 
(updated file)                        

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactAddress.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactAddress.js
 (updated file)          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactError.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactError.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactField.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactField.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactFieldType.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactFieldType.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactFindOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactFindOptions.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactName.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactName.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactOrganization.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactOrganization.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\contacts.js 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\contacts.js 
(updated file)                      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-motion\www\Acceleration.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-motion\www\Acceleration.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-motion\www\accelerometer.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-motion\www\accelerometer.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\CompassError.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\CompassError.js
 (updated file)                                                                 
                                                                                
                                                 

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\CompassHeading.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\CompassHeading.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\compass.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\compass.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device\www\device.js 
platforms\android\assets\www\plugins\cordova-plugin-device\www\device.js 
(updated file)                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-dialogs\www\android\notification.js
 
platforms\android\assets\www\plugins\cordova-plugin-dialogs\www\android\notification.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-dialogs\www\notification.js
 
platforms\android\assets\www\plugins\cordova-plugin-dialogs\www\notification.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file-transfer\www\FileTransfer.js
 
platforms\android\assets\www\plugins\cordova-plugin-file-transfer\www\FileTransfer.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file-transfer\www\FileTransferError.js
 
platforms\android\assets\www\plugins\cordova-plugin-file-transfer\www\FileTransferError.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\DirectoryEntry.js
 platforms\android\assets\www\plugins\cordova-plugin-file\www\DirectoryEntry.js 
(updated file)                  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\DirectoryReader.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\DirectoryReader.js 
(updated file)                

  copy  platforms\android\platform_www\plugins\cordova-plugin-file\www\Entry.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\Entry.js (updated 
file)                                    

  copy  platforms\android\platform_www\plugins\cordova-plugin-file\www\File.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\File.js (updated 
file)                                      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileEntry.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileEntry.js 
(updated file)                            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileError.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileError.js 
(updated file)                            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileReader.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileReader.js 
(updated file)                          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileSystem.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileSystem.js 
(updated file)                          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileUploadOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileUploadOptions.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileUploadResult.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileUploadResult.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileWriter.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileWriter.js 
(updated file)                          

  copy  platforms\android\platform_www\plugins\cordova-plugin-file\www\Flags.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\Flags.js (updated 
file)                                    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\LocalFileSystem.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\LocalFileSystem.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\Metadata.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\Metadata.js 
(updated file)                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\ProgressEvent.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\ProgressEvent.js 
(updated file)                    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\android\FileSystem.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\android\FileSystem.js
 (updated file)          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\browser\isChrome.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\browser\isChrome.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystemPaths.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystemPaths.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystems-roots.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystems-roots.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystems.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystems.js 
(updated file)                        

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\requestFileSystem.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\requestFileSystem.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\resolveLocalFileSystemURI.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\resolveLocalFileSystemURI.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-geolocation\www\PositionError.js
 
platforms\android\assets\www\plugins\cordova-plugin-geolocation\www\PositionError.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-geolocation\www\android\geolocation.js
 
platforms\android\assets\www\plugins\cordova-plugin-geolocation\www\android\geolocation.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-globalization\www\GlobalizationError.js
 
platforms\android\assets\www\plugins\cordova-plugin-globalization\www\GlobalizationError.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-globalization\www\globalization.js
 
platforms\android\assets\www\plugins\cordova-plugin-globalization\www\globalization.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-inappbrowser\www\inappbrowser.js
 
platforms\android\assets\www\plugins\cordova-plugin-inappbrowser\www\inappbrowser.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureAudioOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureAudioOptions.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureError.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureError.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureImageOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureImageOptions.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureVideoOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureVideoOptions.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\MediaFile.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\MediaFile.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\MediaFileData.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\MediaFileData.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\capture.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\capture.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media\www\Media.js 
platforms\android\assets\www\plugins\cordova-plugin-media\www\Media.js (updated 
file)                                  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media\www\MediaError.js 
platforms\android\assets\www\plugins\cordova-plugin-media\www\MediaError.js 
(updated file)                        

  copy  
platforms\android\platform_www\plugins\cordova-plugin-network-information\www\Connection.js
 
platforms\android\assets\www\plugins\cordova-plugin-network-information\www\Connection.js
 (updated file)                                                                 
                                                                                
                                                   

  copy  
platforms\android\platform_www\plugins\cordova-plugin-network-information\www\network.js
 
platforms\android\assets\www\plugins\cordova-plugin-network-information\www\network.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-splashscreen\www\splashscreen.js
 
platforms\android\assets\www\plugins\cordova-plugin-splashscreen\www\splashscreen.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-statusbar\www\statusbar.js
 platforms\android\assets\www\plugins\cordova-plugin-statusbar\www\statusbar.js 
(updated file)                  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-vibration\www\vibration.js
 platforms\android\assets\www\plugins\cordova-plugin-vibration\www\vibration.js 
(updated file)                  

Wrote out android application name "pgHello" to 
C:\nodejs\apps\pgHello\platforms\android\res\values\strings.xml                 
                                                                        

android-versionCode not found in config.xml. Generating a code based on version 
in config.xml (1.0.0): 10000                                                    
                                        

Wrote out Android package name "com.pghello.app" to 
C:\nodejs\apps\pgHello\platforms\android\src\com\pghello\app\MainActivity.java  
                                                                    

Updating icons at platforms\android\res                                         
                                                                                
                                        

Updating splash screens at platforms\android\res                                
                                                                                
                                        

Prepared android project successfully                                           
                                                                                
                                        

No scripts found for hook "after_prepare".                                      
                                                                                
                                        

Checking config.xml for saved plugins that haven't been added to the project    
                                                                                
                                        

No scripts found for hook "before_compile".                                     
                                                                                
                                        

ANDROID_HOME=c:\android\sdk                                                     
                                                                                
                                        

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131                                    
                                                                                
                                        

Error: Error                                                                    
                                                                                
                                        
    at Object.module.exports.check_gradle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\check_reqs.js:90:25)      
                                                                              
    at GradleBuilder.prepEnv 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\builders\GradleBuilder.js:161:23)
                                                                                
    
    at Api.module.exports.run 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\build.js:152:20)          
                                                                                
          
    at C:\nodejs\apps\pgHello\platforms\android\cordova\Api.js:348:43           
                                                                                
                                        
    at _fulfilled 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:834:54)   
                                                                                
                      
    at self.promiseDispatch.done 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:863:30)   
                                                                                
       
    at Promise.promise.promiseDispatch 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:796:13)   
                                                                                
 
    at 
C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:604:44     
                                                                                
                                 
    at runSingle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:137:13)   
                                                                                
                       
    at flush 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:125:13)   
                                                                                
                           

_Note that the default cordova android platform version was android@~6.1.2.  
The error message here is "Error: Error".

Then I updated to cordova android platform 6.2.3._

$ phonegap cordova platform rm android
$ phonegap cordova platform add [email protected]

_And here's what happened:_

$ phonegap build android --verbose
[phonegap] executing 'cordova build android --verbose ' ...
No scripts found for hook "before_build".

No scripts found for hook "before_prepare".

Checking config.xml for saved platforms that haven't been added to the project

Checking for any plugins added to the project that have not been installed in 
android platform

No differences found between plugins added to project and installed in android 
platform. Continuing...
Generating platform-specific config.xml from defaults for android at 
C:\nodejs\apps\pgHello\platforms\android\res\xml\config.xml

Merging project's config.xml into platform-specific android config.xml

Merging and updating files from [www, platforms\android\platform_www] to 
platforms\android\assets\www

Wrote out android application name "pgHello" to 
C:\nodejs\apps\pgHello\platforms\android\res\values\strings.xml

android-versionCode not found in config.xml. Generating a code based on version 
in config.xml (1.0.0): 10000

Wrote out Android package name "com.pghello.app" to 
C:\nodejs\apps\pgHello\platforms\android\src\com\pghello\app\MainActivity.java

Updating icons at platforms\android\res

Updating splash screens at platforms\android\res

This app does not have additional resource files defined

Prepared android project successfully

No scripts found for hook "after_prepare".

Checking config.xml for saved plugins that haven't been added to the project

No scripts found for hook "before_compile".

ANDROID_HOME=c:\android\sdk

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131

Error: TypeError: Cannot read property 'length' of undefined
    at Object.module.exports.check_gradle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\check_reqs.js:143:19)
    at GradleBuilder.prepEnv 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\builders\GradleBuilder.js:176:23)
    at Api.module.exports.run 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\build.js:152:20)
    at C:\nodejs\apps\pgHello\platforms\android\cordova\Api.js:348:43
    at _fulfilled 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:854:54)
    at self.promiseDispatch.done 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:883:30)
    at Promise.promise.promiseDispatch 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:816:13)
    at 
C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:624:44
    at runSingle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:137:13)
    at flush 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:125:13)

_Note that the error now becomes "Error: TypeError: Cannot read property 
'length' of undefined" instead of "Error: Error".  The only difference is which 
version of the cordova android platform I use._

*Replicating with Cordova:*

_I'm including this to demonstrate that the problem is not in phonegap, but 
seems to be in the cordova android platform._

$ cordova create pushTest com.copperfielld.kostizi.pushtest pushTest
Creating a new cordova project.

$ cd pushTest
$ cordova add [email protected]
$ cordova run android
Using cordova-fetch for [email protected]
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: com.copperfielld.kostizi.pushtest
        Name: pushTest
        Activity: MainActivity
        Android target: android-25
Subproject Path: CordovaLib
Android project created with [email protected]
Installing "cordova-plugin-whitelist" for android

               This plugin is only applicable for versions of cordova-android 
greater than 4.0. If you have a previous platform version, you do *not* need 
this plugin since the whitelist will be built in.

--save flag or autosave detected
Saving android@~6.2.3 into config.xml file ...

$ cordova run android --verbose
No scripts found for hook "before_run".
No scripts found for hook "before_prepare".
Checking config.xml and package.json for saved platforms that haven't been 
added to the project
Config.xml and package.json platforms are the same. No pkg.json modification.
Package.json and config.xml platforms are different. Updating config.xml with 
most current list of platforms.
PlatformApi successfully found for platform android
Checking config.xml for saved plugins that haven't been added to the project
Checking for any plugins added to the project that have not been installed in 
android platform
No differences found between plugins added to project and installed in android 
platform. Continuing...
Generating platform-specific config.xml from defaults for android at 
C:\nodejs\apps\pushTest\platforms\android\res\xml\config.xml
Merging project's config.xml into platform-specific android config.xml
Merging and updating files from [www, platforms\android\platform_www] to 
platforms\android\assets\www
Wrote out android application name "pushTest" to 
C:\nodejs\apps\pushTest\platforms\android\res\values\strings.xml
android-versionCode not found in config.xml. Generating a code based on version 
in config.xml (1.0.0): 10000
Wrote out Android package name "com.copperfielld.kostizi.pushtest" to 
C:\nodejs\apps\pushTest\platforms\android\src\com\copperfielld\kostizi\pushtest\MainActivity.java
This app does not have launcher icons defined
This app does not have splash screens defined
This app does not have additional resource files defined
Prepared android project successfully
No scripts found for hook "after_prepare".
ANDROID_HOME=c:\android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
Error: Cannot read property 'length' of undefined

_Note that there are fewer details about the error, but it's the same message 
as before:_
_Error: Cannot read property 'length' of undefined_


  was:
I've searched for solutions to this problem, and found several reports of it, 
but no solutions.  Based on my many attempts to get something to work (I've 
tried phonegap, ionic, and just plain cordova), I started suspecting that 
there's a bug in the cordova android platform.  All my build attempts have been 
halted at this error message:

{{Error: Cannot read property 'length' of undefined}}

*Replicating this issue with phonegap:*

_I'm starting with phonegap because this is how I first encountered the error, 
and it seems to give me the most useful information with regard to where the 
error is happening._

$ npm install -g phonegap
npm WARN deprecated [email protected]: ReDoS vulnerability parsing Set-Cookie 
https://nodesecurity.io/advisories/130  
npm WARN deprecated [email protected]: Use uuid module instead                    
                                       
C:\Users\bbale\AppData\Roaming\npm\phonegap -> 
C:\Users\bbale\AppData\Roaming\npm\node_modules\phonegap\bin\phonegap.js
+ [email protected]                                                                
                                       
added 873 packages in 146.435s                                                  
                                       

$ phonegap create pgHello --id "com.pghello.app" --name "pgHello" --template 
hello-world
Creating a new cordova project.

$ cd pgHello

$ phonegap run android --verbose
[phonegap] executing 'cordova platform add --save android ' ...                 
                                                                                
                                        
Adding android project...                                                       
                                                                                
                                        
                                                                                
                                                                                
                                        
Creating Cordova project for the Android platform:                              
                                                                                
                                        
        Path: platforms\android                                                 
                                                                                
                                        
        Package: com.pghello.app                                                
                                                                                
                                        
        Name: pgHello                                                           
                                                                                
                                        
        Activity: MainActivity                                                  
                                                                                
                                        
        Android target: android-25                                              
                                                                                
                                        
                                                                                
                                                                                
                                        
Subproject Path: CordovaLib                                                     
                                                                                
                                        
                                                                                
                                                                                
                                        
Android project created with [email protected]                              
                                                                                
                                        

Discovered plugin "cordova-plugin-battery-status" in config.xml. Adding it to 
the project                                                                     
                                          

Fetching plugin "cordova-plugin-battery-status@~1.1.1" via npm                  
                                                                                
                                        

Installing "cordova-plugin-battery-status" for android                          
                                                                                
                                        

Saved plugin info for "cordova-plugin-battery-status" to config.xml             
                                                                                
                                        

Discovered plugin "cordova-plugin-camera" in config.xml. Adding it to the 
project                                                                         
                                              

Fetching plugin "cordova-plugin-camera@~2.1.1" via npm                          
                                                                                
                                        

Installing "cordova-plugin-camera" for android

Saved plugin info for "cordova-plugin-camera" to config.xml                     
                                                                                
                                        

Discovered plugin "cordova-plugin-media-capture" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-media-capture@~1.2.0" via npm                   
                                                                                
                                        

Installing "cordova-plugin-media-capture" for android                           
                                                                                
                                        

Fetching plugin "cordova-plugin-file" via npm                                   
                                                                                
                                        

Installing "cordova-plugin-file" for android                                    
                                                                                
                                        

Fetching plugin "cordova-plugin-compat" via npm                                 
                                                                                
                                        

Installing "cordova-plugin-compat" for android                                  
                                                                                
                                        

The Android Persistent storage location now defaults to "Internal". Please 
check this plugin's README to see if your application needs any changes in its 
config.xml.

If this is a new application no changes are required.                           
                                                                                
                                        

If this is an update to an existing application that did not specify an 
"AndroidPersistentFileLocation" you may need to add:                            
                                                

      "<preference name="AndroidPersistentFileLocation" value="Compatibility" 
/>"                                                                             
                                          

to config.xml in order for the application to find previously stored files.     
                                                                                
                                        

Saved plugin info for "cordova-plugin-media-capture" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-console" in config.xml. Adding it to the 
project                                                                         
                                             

Fetching plugin "cordova-plugin-console@~1.0.2" via npm                         
                                                                                
                                        

Installing "cordova-plugin-console" for android                                 
                                                                                
                                        

Saved plugin info for "cordova-plugin-console" to config.xml                    
                                                                                
                                        

Discovered plugin "cordova-plugin-contacts" in config.xml. Adding it to the 
project                                                                         
                                            

Fetching plugin "cordova-plugin-contacts@~2.0.1" via npm                        
                                                                                
                                        

Installing "cordova-plugin-contacts" for android                                
                                                                                
                                        

Saved plugin info for "cordova-plugin-contacts" to config.xml                   
                                                                                
                                        

Discovered plugin "cordova-plugin-device" in config.xml. Adding it to the 
project                                                                         
                                              

Fetching plugin "cordova-plugin-device@~1.1.1" via npm                          
                                                                                
                                        

Installing "cordova-plugin-device" for android                                  
                                                                                
                                        

Saved plugin info for "cordova-plugin-device" to config.xml                     
                                                                                
                                        

Discovered plugin "cordova-plugin-device-motion" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-device-motion@~1.2.0" via npm                   
                                                                                
                                        

Installing "cordova-plugin-device-motion" for android                           
                                                                                
                                        

Saved plugin info for "cordova-plugin-device-motion" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-device-orientation" in config.xml. Adding it 
to the project                                                                  
                                         

Fetching plugin "cordova-plugin-device-orientation@~1.0.2" via npm              
                                                                                
                                        

Installing "cordova-plugin-device-orientation" for android                      
                                                                                
                                        

Saved plugin info for "cordova-plugin-device-orientation" to config.xml         
                                                                                
                                        

Discovered plugin "cordova-plugin-dialogs" in config.xml. Adding it to the 
project                                                                         
                                             

Fetching plugin "cordova-plugin-dialogs@~1.2.0" via npm                         
                                                                                
                                        

Installing "cordova-plugin-dialogs" for android                                 
                                                                                
                                        

Saved plugin info for "cordova-plugin-dialogs" to config.xml                    
                                                                                
                                        

Discovered plugin "cordova-plugin-file-transfer" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-file-transfer@~1.5.0" via npm                   
                                                                                
                                        

Installing "cordova-plugin-file-transfer" for android                           
                                                                                
                                        

Dependent plugin "cordova-plugin-file" already installed on android.            
                                                                                
                                        

Saved plugin info for "cordova-plugin-file-transfer" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-geolocation" in config.xml. Adding it to the 
project                                                                         
                                         

Fetching plugin "cordova-plugin-geolocation@~2.1.0" via npm                     
                                                                                
                                        

Installing "cordova-plugin-geolocation" for android                             
                                                                                
                                        

Saved plugin info for "cordova-plugin-geolocation" to config.xml                
                                                                                
                                        

Discovered plugin "cordova-plugin-globalization" in config.xml. Adding it to 
the project                                                                     
                                           

Fetching plugin "cordova-plugin-globalization@~1.0.3" via npm                   
                                                                                
                                        

Installing "cordova-plugin-globalization" for android                           
                                                                                
                                        

Saved plugin info for "cordova-plugin-globalization" to config.xml              
                                                                                
                                        

Discovered plugin "cordova-plugin-inappbrowser" in config.xml. Adding it to the 
project                                                                         
                                        

Fetching plugin "cordova-plugin-inappbrowser@~1.3.0" via npm                    
                                                                                
                                        

Installing "cordova-plugin-inappbrowser" for android                            
                                                                                
                                        

Saved plugin info for "cordova-plugin-inappbrowser" to config.xml               
                                                                                
                                        

Discovered plugin "cordova-plugin-media" in config.xml. Adding it to the 
project                                                                         
                                               

Fetching plugin "cordova-plugin-media@~2.2.0" via npm                           
                                                                                
                                        

Installing "cordova-plugin-media" for android                                   
                                                                                
                                        

Dependent plugin "cordova-plugin-file" already installed on android.            
                                                                                
                                        

Saved plugin info for "cordova-plugin-media" to config.xml                      
                                                                                
                                        

Discovered plugin "cordova-plugin-network-information" in config.xml. Adding it 
to the project                                                                  
                                        

Fetching plugin "cordova-plugin-network-information@~1.2.0" via npm             
                                                                                
                                        

Installing "cordova-plugin-network-information" for android                     
                                                                                
                                        

Saved plugin info for "cordova-plugin-network-information" to config.xml        
                                                                                
                                        

Discovered plugin "cordova-plugin-splashscreen" in config.xml. Adding it to the 
project                                                                         
                                        

Fetching plugin "cordova-plugin-splashscreen@~3.2.1" via npm                    
                                                                                
                                        

Installing "cordova-plugin-splashscreen" for android                            
                                                                                
                                        

Saved plugin info for "cordova-plugin-splashscreen" to config.xml               
                                                                                
                                        

Discovered plugin "cordova-plugin-statusbar" in config.xml. Adding it to the 
project                                                                         
                                           

Fetching plugin "cordova-plugin-statusbar@~2.1.2" via npm                       
                                                                                
                                        

Installing "cordova-plugin-statusbar" for android                               
                                                                                
                                        

Saved plugin info for "cordova-plugin-statusbar" to config.xml                  
                                                                                
                                        

Discovered plugin "cordova-plugin-vibration" in config.xml. Adding it to the 
project                                                                         
                                           

Fetching plugin "cordova-plugin-vibration@~2.1.0" via npm                       
                                                                                
                                        

Installing "cordova-plugin-vibration" for android                               
                                                                                
                                        

Saved plugin info for "cordova-plugin-vibration" to config.xml                  
                                                                                
                                        

Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the 
project                                                                         
                                           

Fetching plugin "cordova-plugin-whitelist@~1.2.1" via npm                       
                                                                                
                                        

Installing "cordova-plugin-whitelist" for android                               
                                                                                
                                        

               This plugin is only applicable for versions of cordova-android 
greater than 4.0. If you have a previous platform version, you do *not* need 
this plugin since the whitelist will be built in.

Saved plugin info for "cordova-plugin-whitelist" to config.xml                  
                                                                                
                                        

--save flag or autosave detected                                                
                                                                                
                                        

Saving android@~6.1.2 into config.xml file ...                                  
                                                                                
                                        

[phonegap] completed 'cordova platform add --save android --no-telemetry'       
                                                                                
                                        
[phonegap] executing 'cordova build android --verbose ' ...                     
                                                                                
                                        
No scripts found for hook "before_build".                                       
                                                                                
                                        

No scripts found for hook "before_prepare".                                     
                                                                                
                                        

Checking config.xml for saved platforms that haven't been added to the project  
                                                                                
                                        

Checking for any plugins added to the project that have not been installed in 
android platform                                                                
                                          

No differences found between plugins added to project and installed in android 
platform. Continuing...                                                         
                                         

Generating platform-specific config.xml from defaults for android at 
C:\nodejs\apps\pgHello\platforms\android\res\xml\config.xml                     
                                                   

Merging project's config.xml into platform-specific android config.xml          
                                                                                
                                        

Merging and updating files from [www, platforms\android\platform_www] to 
platforms\android\assets\www                                                    
                                               

  copy  platforms\android\platform_www\cordova_plugins.js 
platforms\android\assets\www\cordova_plugins.js (updated file)                  
                                                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-battery-status\www\battery.js
 
platforms\android\assets\www\plugins\cordova-plugin-battery-status\www\battery.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\Camera.js 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\Camera.js 
(updated file)                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraConstants.js
 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraConstants.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraPopoverHandle.js
 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraPopoverHandle.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraPopoverOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraPopoverOptions.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\Contact.js 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\Contact.js 
(updated file)                        

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactAddress.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactAddress.js
 (updated file)          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactError.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactError.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactField.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactField.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactFieldType.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactFieldType.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactFindOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactFindOptions.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactName.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactName.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactOrganization.js
 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactOrganization.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-contacts\www\contacts.js 
platforms\android\assets\www\plugins\cordova-plugin-contacts\www\contacts.js 
(updated file)                      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-motion\www\Acceleration.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-motion\www\Acceleration.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-motion\www\accelerometer.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-motion\www\accelerometer.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\CompassError.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\CompassError.js
 (updated file)                                                                 
                                                                                
                                                 

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\CompassHeading.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\CompassHeading.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\compass.js
 
platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\compass.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-device\www\device.js 
platforms\android\assets\www\plugins\cordova-plugin-device\www\device.js 
(updated file)                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-dialogs\www\android\notification.js
 
platforms\android\assets\www\plugins\cordova-plugin-dialogs\www\android\notification.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-dialogs\www\notification.js
 
platforms\android\assets\www\plugins\cordova-plugin-dialogs\www\notification.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file-transfer\www\FileTransfer.js
 
platforms\android\assets\www\plugins\cordova-plugin-file-transfer\www\FileTransfer.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file-transfer\www\FileTransferError.js
 
platforms\android\assets\www\plugins\cordova-plugin-file-transfer\www\FileTransferError.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\DirectoryEntry.js
 platforms\android\assets\www\plugins\cordova-plugin-file\www\DirectoryEntry.js 
(updated file)                  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\DirectoryReader.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\DirectoryReader.js 
(updated file)                

  copy  platforms\android\platform_www\plugins\cordova-plugin-file\www\Entry.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\Entry.js (updated 
file)                                    

  copy  platforms\android\platform_www\plugins\cordova-plugin-file\www\File.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\File.js (updated 
file)                                      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileEntry.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileEntry.js 
(updated file)                            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileError.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileError.js 
(updated file)                            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileReader.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileReader.js 
(updated file)                          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileSystem.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileSystem.js 
(updated file)                          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileUploadOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileUploadOptions.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileUploadResult.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileUploadResult.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\FileWriter.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\FileWriter.js 
(updated file)                          

  copy  platforms\android\platform_www\plugins\cordova-plugin-file\www\Flags.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\Flags.js (updated 
file)                                    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\LocalFileSystem.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\LocalFileSystem.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\Metadata.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\Metadata.js 
(updated file)                              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\ProgressEvent.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\ProgressEvent.js 
(updated file)                    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\android\FileSystem.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\android\FileSystem.js
 (updated file)          

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\browser\isChrome.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\browser\isChrome.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystemPaths.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystemPaths.js 
(updated file)                

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystems-roots.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystems-roots.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystems.js 
platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystems.js 
(updated file)                        

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\requestFileSystem.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\requestFileSystem.js
 (updated file)            

  copy  
platforms\android\platform_www\plugins\cordova-plugin-file\www\resolveLocalFileSystemURI.js
 
platforms\android\assets\www\plugins\cordova-plugin-file\www\resolveLocalFileSystemURI.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-geolocation\www\PositionError.js
 
platforms\android\assets\www\plugins\cordova-plugin-geolocation\www\PositionError.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-geolocation\www\android\geolocation.js
 
platforms\android\assets\www\plugins\cordova-plugin-geolocation\www\android\geolocation.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-globalization\www\GlobalizationError.js
 
platforms\android\assets\www\plugins\cordova-plugin-globalization\www\GlobalizationError.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-globalization\www\globalization.js
 
platforms\android\assets\www\plugins\cordova-plugin-globalization\www\globalization.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-inappbrowser\www\inappbrowser.js
 
platforms\android\assets\www\plugins\cordova-plugin-inappbrowser\www\inappbrowser.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureAudioOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureAudioOptions.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureError.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureError.js
 (updated file)    

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureImageOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureImageOptions.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureVideoOptions.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureVideoOptions.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\MediaFile.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\MediaFile.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\MediaFileData.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\MediaFileData.js
 (updated file)

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\capture.js
 
platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\capture.js
 (updated file)              

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media\www\Media.js 
platforms\android\assets\www\plugins\cordova-plugin-media\www\Media.js (updated 
file)                                  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-media\www\MediaError.js 
platforms\android\assets\www\plugins\cordova-plugin-media\www\MediaError.js 
(updated file)                        

  copy  
platforms\android\platform_www\plugins\cordova-plugin-network-information\www\Connection.js
 
platforms\android\assets\www\plugins\cordova-plugin-network-information\www\Connection.js
 (updated file)                                                                 
                                                                                
                                                   

  copy  
platforms\android\platform_www\plugins\cordova-plugin-network-information\www\network.js
 
platforms\android\assets\www\plugins\cordova-plugin-network-information\www\network.js
 (updated file)  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-splashscreen\www\splashscreen.js
 
platforms\android\assets\www\plugins\cordova-plugin-splashscreen\www\splashscreen.js
 (updated file)      

  copy  
platforms\android\platform_www\plugins\cordova-plugin-statusbar\www\statusbar.js
 platforms\android\assets\www\plugins\cordova-plugin-statusbar\www\statusbar.js 
(updated file)                  

  copy  
platforms\android\platform_www\plugins\cordova-plugin-vibration\www\vibration.js
 platforms\android\assets\www\plugins\cordova-plugin-vibration\www\vibration.js 
(updated file)                  

Wrote out android application name "pgHello" to 
C:\nodejs\apps\pgHello\platforms\android\res\values\strings.xml                 
                                                                        

android-versionCode not found in config.xml. Generating a code based on version 
in config.xml (1.0.0): 10000                                                    
                                        

Wrote out Android package name "com.pghello.app" to 
C:\nodejs\apps\pgHello\platforms\android\src\com\pghello\app\MainActivity.java  
                                                                    

Updating icons at platforms\android\res                                         
                                                                                
                                        

Updating splash screens at platforms\android\res                                
                                                                                
                                        

Prepared android project successfully                                           
                                                                                
                                        

No scripts found for hook "after_prepare".                                      
                                                                                
                                        

Checking config.xml for saved plugins that haven't been added to the project    
                                                                                
                                        

No scripts found for hook "before_compile".                                     
                                                                                
                                        

ANDROID_HOME=c:\android\sdk                                                     
                                                                                
                                        

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131                                    
                                                                                
                                        

Error: Error                                                                    
                                                                                
                                        
    at Object.module.exports.check_gradle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\check_reqs.js:90:25)      
                                                                              
    at GradleBuilder.prepEnv 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\builders\GradleBuilder.js:161:23)
                                                                                
    
    at Api.module.exports.run 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\build.js:152:20)          
                                                                                
          
    at C:\nodejs\apps\pgHello\platforms\android\cordova\Api.js:348:43           
                                                                                
                                        
    at _fulfilled 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:834:54)   
                                                                                
                      
    at self.promiseDispatch.done 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:863:30)   
                                                                                
       
    at Promise.promise.promiseDispatch 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:796:13)   
                                                                                
 
    at 
C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:604:44     
                                                                                
                                 
    at runSingle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:137:13)   
                                                                                
                       
    at flush 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:125:13)   
                                                                                
                           

_Note that the default cordova android platform version was android@~6.1.2.  
The error message here is "Error: Error".

Then I updated to cordova android platform 6.2.3._

$ phonegap cordova platform rm android
$ phonegap cordova platform add [email protected]

_And here's what happened:_

$ phonegap build android --verbose
[phonegap] executing 'cordova build android --verbose ' ...
No scripts found for hook "before_build".

No scripts found for hook "before_prepare".

Checking config.xml for saved platforms that haven't been added to the project

Checking for any plugins added to the project that have not been installed in 
android platform

No differences found between plugins added to project and installed in android 
platform. Continuing...
Generating platform-specific config.xml from defaults for android at 
C:\nodejs\apps\pgHello\platforms\android\res\xml\config.xml

Merging project's config.xml into platform-specific android config.xml

Merging and updating files from [www, platforms\android\platform_www] to 
platforms\android\assets\www

Wrote out android application name "pgHello" to 
C:\nodejs\apps\pgHello\platforms\android\res\values\strings.xml

android-versionCode not found in config.xml. Generating a code based on version 
in config.xml (1.0.0): 10000

Wrote out Android package name "com.pghello.app" to 
C:\nodejs\apps\pgHello\platforms\android\src\com\pghello\app\MainActivity.java

Updating icons at platforms\android\res

Updating splash screens at platforms\android\res

This app does not have additional resource files defined

Prepared android project successfully

No scripts found for hook "after_prepare".

Checking config.xml for saved plugins that haven't been added to the project

No scripts found for hook "before_compile".

ANDROID_HOME=c:\android\sdk

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131

Error: TypeError: Cannot read property 'length' of undefined
    at Object.module.exports.check_gradle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\check_reqs.js:143:19)
    at GradleBuilder.prepEnv 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\builders\GradleBuilder.js:176:23)
    at Api.module.exports.run 
(C:\nodejs\apps\pgHello\platforms\android\cordova\lib\build.js:152:20)
    at C:\nodejs\apps\pgHello\platforms\android\cordova\Api.js:348:43
    at _fulfilled 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:854:54)
    at self.promiseDispatch.done 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:883:30)
    at Promise.promise.promiseDispatch 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:816:13)
    at 
C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:624:44
    at runSingle 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:137:13)
    at flush 
(C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:125:13)

_Note that the error now becomes "Error: TypeError: Cannot read property 
'length' of undefined" instead of "Error: Error".  The only difference is which 
version of the cordova android platform I use._

*Replicating with Cordova:*

_I'm including this to demonstrate that the problem is not in phonegap, but 
seems to be in the cordova android platform._

$ cordova create pushTest com.copperfielld.kostizi.pushtest pushTest
Creating a new cordova project.

$ cd pushTest
$ cordova add [email protected]
$ cordova run android
Using cordova-fetch for [email protected]
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: com.copperfielld.kostizi.pushtest
        Name: pushTest
        Activity: MainActivity
        Android target: android-25
Subproject Path: CordovaLib
Android project created with [email protected]
Installing "cordova-plugin-whitelist" for android

               This plugin is only applicable for versions of cordova-android 
greater than 4.0. If you have a previous platform version, you do *not* need 
this plugin since the whitelist will be built in.

--save flag or autosave detected
Saving android@~6.2.3 into config.xml file ...

$ cordova run android --verbose
No scripts found for hook "before_run".
No scripts found for hook "before_prepare".
Checking config.xml and package.json for saved platforms that haven't been 
added to the project
Config.xml and package.json platforms are the same. No pkg.json modification.
Package.json and config.xml platforms are different. Updating config.xml with 
most current list of platforms.
PlatformApi successfully found for platform android
Checking config.xml for saved plugins that haven't been added to the project
Checking for any plugins added to the project that have not been installed in 
android platform
No differences found between plugins added to project and installed in android 
platform. Continuing...
Generating platform-specific config.xml from defaults for android at 
C:\nodejs\apps\pushTest\platforms\android\res\xml\config.xml
Merging project's config.xml into platform-specific android config.xml
Merging and updating files from [www, platforms\android\platform_www] to 
platforms\android\assets\www
Wrote out android application name "pushTest" to 
C:\nodejs\apps\pushTest\platforms\android\res\values\strings.xml
android-versionCode not found in config.xml. Generating a code based on version 
in config.xml (1.0.0): 10000
Wrote out Android package name "com.copperfielld.kostizi.pushtest" to 
C:\nodejs\apps\pushTest\platforms\android\src\com\copperfielld\kostizi\pushtest\MainActivity.java
This app does not have launcher icons defined
This app does not have splash screens defined
This app does not have additional resource files defined
Prepared android project successfully
No scripts found for hook "after_prepare".
ANDROID_HOME=c:\android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
Error: Cannot read property 'length' of undefined

_Note that there are fewer details about the error, but it's the same message 
as before:
Error: Cannot read property 'length' of undefined _



> "Error: Cannot read property 'length' of undefined" when executing "cordova 
> run android"
> ----------------------------------------------------------------------------------------
>
>                 Key: CB-13104
>                 URL: https://issues.apache.org/jira/browse/CB-13104
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-android
>         Environment: Windows 7 Professional x64
> Java SDK 8u131
> npm 5.2.0
> phonegap 6.5.2
> cordova 6.5.0
> cordova android platform 6.2.3
> android studio 2.3.3
> android sdk build-tools 26
> android sdk tools 26.0.2
> android sdk platform-tools 26.0.0
> android emulator 26.1.2
> android support repository 47.0.0
>            Reporter: Bryan Bale
>            Assignee: Joe Bowser
>
> I've searched for solutions to this problem, and found several reports of it, 
> but no solutions.  Based on my many attempts to get something to work (I've 
> tried phonegap, ionic, and just plain cordova), I started suspecting that 
> there's a bug in the cordova android platform.  All my build attempts have 
> been halted at this error message:
> {{Error: Cannot read property 'length' of undefined}}
> *Replicating this issue with phonegap:*
> _I'm starting with phonegap because this is how I first encountered the 
> error, and it seems to give me the most useful information with regard to 
> where the error is happening._
> $ npm install -g phonegap
> npm WARN deprecated [email protected]: ReDoS vulnerability parsing 
> Set-Cookie https://nodesecurity.io/advisories/130  
> npm WARN deprecated [email protected]: Use uuid module instead                  
>                                          
> C:\Users\bbale\AppData\Roaming\npm\phonegap -> 
> C:\Users\bbale\AppData\Roaming\npm\node_modules\phonegap\bin\phonegap.js
> + [email protected]                                                              
>                                          
> added 873 packages in 146.435s                                                
>                                          
> $ phonegap create pgHello --id "com.pghello.app" --name "pgHello" --template 
> hello-world
> Creating a new cordova project.
> $ cd pgHello
> $ phonegap run android --verbose
> [phonegap] executing 'cordova platform add --save android ' ...               
>                                                                               
>                                             
> Adding android project...                                                     
>                                                                               
>                                             
>                                                                               
>                                                                               
>                                             
> Creating Cordova project for the Android platform:                            
>                                                                               
>                                             
>         Path: platforms\android                                               
>                                                                               
>                                             
>         Package: com.pghello.app                                              
>                                                                               
>                                             
>         Name: pgHello                                                         
>                                                                               
>                                             
>         Activity: MainActivity                                                
>                                                                               
>                                             
>         Android target: android-25                                            
>                                                                               
>                                             
>                                                                               
>                                                                               
>                                             
> Subproject Path: CordovaLib                                                   
>                                                                               
>                                             
>                                                                               
>                                                                               
>                                             
> Android project created with [email protected]                            
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-battery-status" in config.xml. Adding it to 
> the project                                                                   
>                                             
> Fetching plugin "cordova-plugin-battery-status@~1.1.1" via npm                
>                                                                               
>                                             
> Installing "cordova-plugin-battery-status" for android                        
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-battery-status" to config.xml           
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-camera" in config.xml. Adding it to the 
> project                                                                       
>                                                 
> Fetching plugin "cordova-plugin-camera@~2.1.1" via npm                        
>                                                                               
>                                             
> Installing "cordova-plugin-camera" for android
> Saved plugin info for "cordova-plugin-camera" to config.xml                   
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-media-capture" in config.xml. Adding it to 
> the project                                                                   
>                                              
> Fetching plugin "cordova-plugin-media-capture@~1.2.0" via npm                 
>                                                                               
>                                             
> Installing "cordova-plugin-media-capture" for android                         
>                                                                               
>                                             
> Fetching plugin "cordova-plugin-file" via npm                                 
>                                                                               
>                                             
> Installing "cordova-plugin-file" for android                                  
>                                                                               
>                                             
> Fetching plugin "cordova-plugin-compat" via npm                               
>                                                                               
>                                             
> Installing "cordova-plugin-compat" for android                                
>                                                                               
>                                             
> The Android Persistent storage location now defaults to "Internal". Please 
> check this plugin's README to see if your application needs any changes in 
> its config.xml.
> If this is a new application no changes are required.                         
>                                                                               
>                                             
> If this is an update to an existing application that did not specify an 
> "AndroidPersistentFileLocation" you may need to add:                          
>                                                   
>       "<preference name="AndroidPersistentFileLocation" value="Compatibility" 
> />"                                                                           
>                                             
> to config.xml in order for the application to find previously stored files.   
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-media-capture" to config.xml            
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-console" in config.xml. Adding it to the 
> project                                                                       
>                                                
> Fetching plugin "cordova-plugin-console@~1.0.2" via npm                       
>                                                                               
>                                             
> Installing "cordova-plugin-console" for android                               
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-console" to config.xml                  
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-contacts" in config.xml. Adding it to the 
> project                                                                       
>                                               
> Fetching plugin "cordova-plugin-contacts@~2.0.1" via npm                      
>                                                                               
>                                             
> Installing "cordova-plugin-contacts" for android                              
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-contacts" to config.xml                 
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-device" in config.xml. Adding it to the 
> project                                                                       
>                                                 
> Fetching plugin "cordova-plugin-device@~1.1.1" via npm                        
>                                                                               
>                                             
> Installing "cordova-plugin-device" for android                                
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-device" to config.xml                   
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-device-motion" in config.xml. Adding it to 
> the project                                                                   
>                                              
> Fetching plugin "cordova-plugin-device-motion@~1.2.0" via npm                 
>                                                                               
>                                             
> Installing "cordova-plugin-device-motion" for android                         
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-device-motion" to config.xml            
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-device-orientation" in config.xml. Adding 
> it to the project                                                             
>                                               
> Fetching plugin "cordova-plugin-device-orientation@~1.0.2" via npm            
>                                                                               
>                                             
> Installing "cordova-plugin-device-orientation" for android                    
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-device-orientation" to config.xml       
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-dialogs" in config.xml. Adding it to the 
> project                                                                       
>                                                
> Fetching plugin "cordova-plugin-dialogs@~1.2.0" via npm                       
>                                                                               
>                                             
> Installing "cordova-plugin-dialogs" for android                               
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-dialogs" to config.xml                  
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-file-transfer" in config.xml. Adding it to 
> the project                                                                   
>                                              
> Fetching plugin "cordova-plugin-file-transfer@~1.5.0" via npm                 
>                                                                               
>                                             
> Installing "cordova-plugin-file-transfer" for android                         
>                                                                               
>                                             
> Dependent plugin "cordova-plugin-file" already installed on android.          
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-file-transfer" to config.xml            
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-geolocation" in config.xml. Adding it to 
> the project                                                                   
>                                                
> Fetching plugin "cordova-plugin-geolocation@~2.1.0" via npm                   
>                                                                               
>                                             
> Installing "cordova-plugin-geolocation" for android                           
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-geolocation" to config.xml              
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-globalization" in config.xml. Adding it to 
> the project                                                                   
>                                              
> Fetching plugin "cordova-plugin-globalization@~1.0.3" via npm                 
>                                                                               
>                                             
> Installing "cordova-plugin-globalization" for android                         
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-globalization" to config.xml            
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-inappbrowser" in config.xml. Adding it to 
> the project                                                                   
>                                               
> Fetching plugin "cordova-plugin-inappbrowser@~1.3.0" via npm                  
>                                                                               
>                                             
> Installing "cordova-plugin-inappbrowser" for android                          
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-inappbrowser" to config.xml             
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-media" in config.xml. Adding it to the 
> project                                                                       
>                                                  
> Fetching plugin "cordova-plugin-media@~2.2.0" via npm                         
>                                                                               
>                                             
> Installing "cordova-plugin-media" for android                                 
>                                                                               
>                                             
> Dependent plugin "cordova-plugin-file" already installed on android.          
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-media" to config.xml                    
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-network-information" in config.xml. Adding 
> it to the project                                                             
>                                              
> Fetching plugin "cordova-plugin-network-information@~1.2.0" via npm           
>                                                                               
>                                             
> Installing "cordova-plugin-network-information" for android                   
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-network-information" to config.xml      
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-splashscreen" in config.xml. Adding it to 
> the project                                                                   
>                                               
> Fetching plugin "cordova-plugin-splashscreen@~3.2.1" via npm                  
>                                                                               
>                                             
> Installing "cordova-plugin-splashscreen" for android                          
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-splashscreen" to config.xml             
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-statusbar" in config.xml. Adding it to the 
> project                                                                       
>                                              
> Fetching plugin "cordova-plugin-statusbar@~2.1.2" via npm                     
>                                                                               
>                                             
> Installing "cordova-plugin-statusbar" for android                             
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-statusbar" to config.xml                
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-vibration" in config.xml. Adding it to the 
> project                                                                       
>                                              
> Fetching plugin "cordova-plugin-vibration@~2.1.0" via npm                     
>                                                                               
>                                             
> Installing "cordova-plugin-vibration" for android                             
>                                                                               
>                                             
> Saved plugin info for "cordova-plugin-vibration" to config.xml                
>                                                                               
>                                             
> Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the 
> project                                                                       
>                                              
> Fetching plugin "cordova-plugin-whitelist@~1.2.1" via npm                     
>                                                                               
>                                             
> Installing "cordova-plugin-whitelist" for android                             
>                                                                               
>                                             
>                This plugin is only applicable for versions of cordova-android 
> greater than 4.0. If you have a previous platform version, you do *not* need 
> this plugin since the whitelist will be built in.
> Saved plugin info for "cordova-plugin-whitelist" to config.xml                
>                                                                               
>                                             
> --save flag or autosave detected                                              
>                                                                               
>                                             
> Saving android@~6.1.2 into config.xml file ...                                
>                                                                               
>                                             
> [phonegap] completed 'cordova platform add --save android --no-telemetry'     
>                                                                               
>                                             
> [phonegap] executing 'cordova build android --verbose ' ...                   
>                                                                               
>                                             
> No scripts found for hook "before_build".                                     
>                                                                               
>                                             
> No scripts found for hook "before_prepare".                                   
>                                                                               
>                                             
> Checking config.xml for saved platforms that haven't been added to the 
> project                                                                       
>                                                    
> Checking for any plugins added to the project that have not been installed in 
> android platform                                                              
>                                             
> No differences found between plugins added to project and installed in 
> android platform. Continuing...                                               
>                                                    
> Generating platform-specific config.xml from defaults for android at 
> C:\nodejs\apps\pgHello\platforms\android\res\xml\config.xml                   
>                                                      
> Merging project's config.xml into platform-specific android config.xml        
>                                                                               
>                                             
> Merging and updating files from [www, platforms\android\platform_www] to 
> platforms\android\assets\www                                                  
>                                                  
>   copy  platforms\android\platform_www\cordova_plugins.js 
> platforms\android\assets\www\cordova_plugins.js (updated file)                
>                                                                 
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-battery-status\www\battery.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-battery-status\www\battery.js
>  (updated file)            
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-camera\www\Camera.js 
> platforms\android\assets\www\plugins\cordova-plugin-camera\www\Camera.js 
> (updated file)                              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraConstants.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraConstants.js
>  (updated file)            
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraPopoverHandle.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraPopoverHandle.js
>  (updated file)    
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-camera\www\CameraPopoverOptions.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-camera\www\CameraPopoverOptions.js
>  (updated file)  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\Contact.js 
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\Contact.js 
> (updated file)                        
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactAddress.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactAddress.js
>  (updated file)          
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactError.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactError.js
>  (updated file)              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactField.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactField.js
>  (updated file)              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactFieldType.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactFieldType.js
>  (updated file)      
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactFindOptions.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactFindOptions.js
>  (updated file)  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactName.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactName.js
>  (updated file)                
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\ContactOrganization.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-contacts\www\ContactOrganization.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-contacts\www\contacts.js
>  platforms\android\assets\www\plugins\cordova-plugin-contacts\www\contacts.js 
> (updated file)                      
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-device-motion\www\Acceleration.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-device-motion\www\Acceleration.js
>  (updated file)    
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-device-motion\www\accelerometer.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-device-motion\www\accelerometer.js
>  (updated file)  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\CompassError.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\CompassError.js
>  (updated file)                                                               
>                                                                               
>                                                      
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\CompassHeading.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\CompassHeading.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-device-orientation\www\compass.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-device-orientation\www\compass.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-device\www\device.js 
> platforms\android\assets\www\plugins\cordova-plugin-device\www\device.js 
> (updated file)                              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-dialogs\www\android\notification.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-dialogs\www\android\notification.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-dialogs\www\notification.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-dialogs\www\notification.js
>  (updated file)                
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file-transfer\www\FileTransfer.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file-transfer\www\FileTransfer.js
>  (updated file)    
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file-transfer\www\FileTransferError.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file-transfer\www\FileTransferError.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\DirectoryEntry.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\DirectoryEntry.js
>  (updated file)                  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\DirectoryReader.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\DirectoryReader.js
>  (updated file)                
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\Entry.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\Entry.js 
> (updated file)                                    
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\File.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\File.js (updated 
> file)                                      
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\FileEntry.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\FileEntry.js 
> (updated file)                            
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\FileError.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\FileError.js 
> (updated file)                            
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\FileReader.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\FileReader.js 
> (updated file)                          
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\FileSystem.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\FileSystem.js 
> (updated file)                          
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\FileUploadOptions.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\FileUploadOptions.js
>  (updated file)            
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\FileUploadResult.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\FileUploadResult.js
>  (updated file)              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\FileWriter.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\FileWriter.js 
> (updated file)                          
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\Flags.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\Flags.js 
> (updated file)                                    
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\LocalFileSystem.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\LocalFileSystem.js
>  (updated file)                
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\Metadata.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\Metadata.js 
> (updated file)                              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\ProgressEvent.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\ProgressEvent.js 
> (updated file)                    
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\android\FileSystem.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\android\FileSystem.js
>  (updated file)          
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\browser\isChrome.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\browser\isChrome.js
>  (updated file)              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystemPaths.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystemPaths.js
>  (updated file)                
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystems-roots.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystems-roots.js
>  (updated file)            
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\fileSystems.js 
> platforms\android\assets\www\plugins\cordova-plugin-file\www\fileSystems.js 
> (updated file)                        
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\requestFileSystem.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\requestFileSystem.js
>  (updated file)            
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-file\www\resolveLocalFileSystemURI.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-file\www\resolveLocalFileSystemURI.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-geolocation\www\PositionError.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-geolocation\www\PositionError.js
>  (updated file)      
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-geolocation\www\android\geolocation.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-geolocation\www\android\geolocation.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-globalization\www\GlobalizationError.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-globalization\www\GlobalizationError.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-globalization\www\globalization.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-globalization\www\globalization.js
>  (updated file)  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-inappbrowser\www\inappbrowser.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-inappbrowser\www\inappbrowser.js
>  (updated file)      
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureAudioOptions.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureAudioOptions.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureError.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureError.js
>  (updated file)    
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureImageOptions.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureImageOptions.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\CaptureVideoOptions.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\CaptureVideoOptions.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\MediaFile.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\MediaFile.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\MediaFileData.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\MediaFileData.js
>  (updated file)
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media-capture\www\capture.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-media-capture\www\capture.js
>  (updated file)              
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media\www\Media.js 
> platforms\android\assets\www\plugins\cordova-plugin-media\www\Media.js 
> (updated file)                                  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-media\www\MediaError.js 
> platforms\android\assets\www\plugins\cordova-plugin-media\www\MediaError.js 
> (updated file)                        
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-network-information\www\Connection.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-network-information\www\Connection.js
>  (updated file)                                                               
>                                                                               
>                                                        
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-network-information\www\network.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-network-information\www\network.js
>  (updated file)  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-splashscreen\www\splashscreen.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-splashscreen\www\splashscreen.js
>  (updated file)      
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-statusbar\www\statusbar.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-statusbar\www\statusbar.js
>  (updated file)                  
>   copy  
> platforms\android\platform_www\plugins\cordova-plugin-vibration\www\vibration.js
>  
> platforms\android\assets\www\plugins\cordova-plugin-vibration\www\vibration.js
>  (updated file)                  
> Wrote out android application name "pgHello" to 
> C:\nodejs\apps\pgHello\platforms\android\res\values\strings.xml               
>                                                                           
> android-versionCode not found in config.xml. Generating a code based on 
> version in config.xml (1.0.0): 10000                                          
>                                                   
> Wrote out Android package name "com.pghello.app" to 
> C:\nodejs\apps\pgHello\platforms\android\src\com\pghello\app\MainActivity.java
>                                                                       
> Updating icons at platforms\android\res                                       
>                                                                               
>                                             
> Updating splash screens at platforms\android\res                              
>                                                                               
>                                             
> Prepared android project successfully                                         
>                                                                               
>                                             
> No scripts found for hook "after_prepare".                                    
>                                                                               
>                                             
> Checking config.xml for saved plugins that haven't been added to the project  
>                                                                               
>                                             
> No scripts found for hook "before_compile".                                   
>                                                                               
>                                             
> ANDROID_HOME=c:\android\sdk                                                   
>                                                                               
>                                             
> JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131                                  
>                                                                               
>                                             
> Error: Error                                                                  
>                                                                               
>                                             
>     at Object.module.exports.check_gradle 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\lib\check_reqs.js:90:25)    
>                                                                               
>   
>     at GradleBuilder.prepEnv 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\lib\builders\GradleBuilder.js:161:23)
>                                                                               
>       
>     at Api.module.exports.run 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\lib\build.js:152:20)        
>                                                                               
>               
>     at C:\nodejs\apps\pgHello\platforms\android\cordova\Api.js:348:43         
>                                                                               
>                                             
>     at _fulfilled 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:834:54) 
>                                                                               
>                           
>     at self.promiseDispatch.done 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:863:30) 
>                                                                               
>            
>     at Promise.promise.promiseDispatch 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:796:13) 
>                                                                               
>      
>     at 
> C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:604:44   
>                                                                               
>                                      
>     at runSingle 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:137:13) 
>                                                                               
>                            
>     at flush 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:125:13) 
>                                                                               
>                                
> _Note that the default cordova android platform version was android@~6.1.2.  
> The error message here is "Error: Error".
> Then I updated to cordova android platform 6.2.3._
> $ phonegap cordova platform rm android
> $ phonegap cordova platform add [email protected]
> _And here's what happened:_
> $ phonegap build android --verbose
> [phonegap] executing 'cordova build android --verbose ' ...
> No scripts found for hook "before_build".
> No scripts found for hook "before_prepare".
> Checking config.xml for saved platforms that haven't been added to the project
> Checking for any plugins added to the project that have not been installed in 
> android platform
> No differences found between plugins added to project and installed in 
> android platform. Continuing...
> Generating platform-specific config.xml from defaults for android at 
> C:\nodejs\apps\pgHello\platforms\android\res\xml\config.xml
> Merging project's config.xml into platform-specific android config.xml
> Merging and updating files from [www, platforms\android\platform_www] to 
> platforms\android\assets\www
> Wrote out android application name "pgHello" to 
> C:\nodejs\apps\pgHello\platforms\android\res\values\strings.xml
> android-versionCode not found in config.xml. Generating a code based on 
> version in config.xml (1.0.0): 10000
> Wrote out Android package name "com.pghello.app" to 
> C:\nodejs\apps\pgHello\platforms\android\src\com\pghello\app\MainActivity.java
> Updating icons at platforms\android\res
> Updating splash screens at platforms\android\res
> This app does not have additional resource files defined
> Prepared android project successfully
> No scripts found for hook "after_prepare".
> Checking config.xml for saved plugins that haven't been added to the project
> No scripts found for hook "before_compile".
> ANDROID_HOME=c:\android\sdk
> JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
> Error: TypeError: Cannot read property 'length' of undefined
>     at Object.module.exports.check_gradle 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\lib\check_reqs.js:143:19)
>     at GradleBuilder.prepEnv 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\lib\builders\GradleBuilder.js:176:23)
>     at Api.module.exports.run 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\lib\build.js:152:20)
>     at C:\nodejs\apps\pgHello\platforms\android\cordova\Api.js:348:43
>     at _fulfilled 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:854:54)
>     at self.promiseDispatch.done 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:883:30)
>     at Promise.promise.promiseDispatch 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:816:13)
>     at 
> C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:624:44
>     at runSingle 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:137:13)
>     at flush 
> (C:\nodejs\apps\pgHello\platforms\android\cordova\node_modules\q\q.js:125:13)
> _Note that the error now becomes "Error: TypeError: Cannot read property 
> 'length' of undefined" instead of "Error: Error".  The only difference is 
> which version of the cordova android platform I use._
> *Replicating with Cordova:*
> _I'm including this to demonstrate that the problem is not in phonegap, but 
> seems to be in the cordova android platform._
> $ cordova create pushTest com.copperfielld.kostizi.pushtest pushTest
> Creating a new cordova project.
> $ cd pushTest
> $ cordova add [email protected]
> $ cordova run android
> Using cordova-fetch for [email protected]
> Adding android project...
> Creating Cordova project for the Android platform:
>         Path: platforms\android
>         Package: com.copperfielld.kostizi.pushtest
>         Name: pushTest
>         Activity: MainActivity
>         Android target: android-25
> Subproject Path: CordovaLib
> Android project created with [email protected]
> Installing "cordova-plugin-whitelist" for android
>                This plugin is only applicable for versions of cordova-android 
> greater than 4.0. If you have a previous platform version, you do *not* need 
> this plugin since the whitelist will be built in.
> --save flag or autosave detected
> Saving android@~6.2.3 into config.xml file ...
> $ cordova run android --verbose
> No scripts found for hook "before_run".
> No scripts found for hook "before_prepare".
> Checking config.xml and package.json for saved platforms that haven't been 
> added to the project
> Config.xml and package.json platforms are the same. No pkg.json modification.
> Package.json and config.xml platforms are different. Updating config.xml with 
> most current list of platforms.
> PlatformApi successfully found for platform android
> Checking config.xml for saved plugins that haven't been added to the project
> Checking for any plugins added to the project that have not been installed in 
> android platform
> No differences found between plugins added to project and installed in 
> android platform. Continuing...
> Generating platform-specific config.xml from defaults for android at 
> C:\nodejs\apps\pushTest\platforms\android\res\xml\config.xml
> Merging project's config.xml into platform-specific android config.xml
> Merging and updating files from [www, platforms\android\platform_www] to 
> platforms\android\assets\www
> Wrote out android application name "pushTest" to 
> C:\nodejs\apps\pushTest\platforms\android\res\values\strings.xml
> android-versionCode not found in config.xml. Generating a code based on 
> version in config.xml (1.0.0): 10000
> Wrote out Android package name "com.copperfielld.kostizi.pushtest" to 
> C:\nodejs\apps\pushTest\platforms\android\src\com\copperfielld\kostizi\pushtest\MainActivity.java
> This app does not have launcher icons defined
> This app does not have splash screens defined
> This app does not have additional resource files defined
> Prepared android project successfully
> No scripts found for hook "after_prepare".
> ANDROID_HOME=c:\android\sdk
> JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
> Error: Cannot read property 'length' of undefined
> _Note that there are fewer details about the error, but it's the same message 
> as before:_
> _Error: Cannot read property 'length' of undefined_



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to