You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Bryan Bale (JIRA)" <ji...@apache.org> on 2017/07/25 00:03:00 UTC

[jira] [Commented] (CB-13104) "Error: Cannot read property 'length' of undefined" when executing "cordova run android"

    [ https://issues.apache.org/jira/browse/CB-13104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16099287#comment-16099287 ] 

Bryan Bale commented on CB-13104:
---------------------------------

This issue seems related to https://issues.apache.org/jira/browse/CB-12976, but I thought I'd be able to provide more details.

> "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 tough-cookie@2.2.2: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130  
> npm WARN deprecated node-uuid@1.4.8: Use uuid module instead                                                           
> C:\Users\bbale\AppData\Roaming\npm\phonegap -> C:\Users\bbale\AppData\Roaming\npm\node_modules\phonegap\bin\phonegap.js
> + phonegap@6.5.2                                                                                                       
> 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 cordova-android@6.1.2                                                                                                                                                      
> 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 android@6.2.3
> _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 android@6.2.3
> $ cordova run android
> Using cordova-fetch for cordova-android@6.2.3
> 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 cordova-android@6.2.3
> 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: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org