Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-13541

Error: Path must be a string. Received undefined

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • cordova-android
    • Kubuntu 17.04 64 bit, Gradle 3.2, Cordova Android 6.3.0, Cordova cli-6.3.0, Android Studio 3.0.0

    Description

      When i try to cordiva build android, it will fail, with error:
      Error: Path must be a string. Received undefined

      I have to delete platforms/android/android.json
      to make the cordova android build to success.

      Here the error log:

      sukanime@Asus-X201EV:~/AndroidStudioProjects/SaklarWiFi$ cordova build android
      Error: Path must be a string. Received undefined
      sukanime@Asus-X201EV:~/AndroidStudioProjects/SaklarWiFi$ rm platforms/android/android.json
      sukanime@Asus-X201EV:~/AndroidStudioProjects/SaklarWiFi$ cordova build android
      ANDROID_HOME=/home/sukanime/Android/Sdk
      JAVA_HOME=/usr/lib/jvm/java-8-oracle
      Subproject Path: CordovaLib
      The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
              at build_asz7izgfnstnapj05rr74ilff.run(/home/sukanime/AndroidStudioProjects/SaklarWiFi/platforms/android/build.gradle:141)
      The JavaCompile.setDependencyCacheDir() method has been deprecated and is scheduled to be removed in Gradle 4.0.
      Incremental java compilation is an incubating feature.
      The TaskInputs.source(Object) method has been deprecated and is scheduled to be removed in Gradle 4.0. Please use TaskInputs.file(Object).skipWhenEmpty() instead.
      :clean
      :CordovaLib:clean
      
      BUILD SUCCESSFUL
      
      Total time: 3.13 secs
      Subproject Path: CordovaLib
      Subproject Path: CordovaLib
      Running command: /home/sukanime/AndroidStudioProjects/SaklarWiFi/hooks/after_prepare/030_resource_files.js /home/sukanime/AndroidStudioProjects/SaklarWiFi
      ANDROID_HOME=/home/sukanime/Android/Sdk
      JAVA_HOME=/usr/lib/jvm/java-8-oracle
      Subproject Path: CordovaLib
      The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
              at build_asz7izgfnstnapj05rr74ilff.run(/home/sukanime/AndroidStudioProjects/SaklarWiFi/platforms/android/build.gradle:141)
      The JavaCompile.setDependencyCacheDir() method has been deprecated and is scheduled to be removed in Gradle 4.0.
      Incremental java compilation is an incubating feature.
      The TaskInputs.source(Object) method has been deprecated and is scheduled to be removed in Gradle 4.0. Please use TaskInputs.file(Object).skipWhenEmpty() instead.
      :preBuild UP-TO-DATE
      :preDebugBuild UP-TO-DATE
      :checkDebugManifest
      :preReleaseBuild UP-TO-DATE
      :CordovaLib:preBuild UP-TO-DATE
      :CordovaLib:preDebugBuild UP-TO-DATE
      :CordovaLib:checkDebugManifest
      :CordovaLib:prepareDebugDependencies
      :CordovaLib:compileDebugAidl
      :CordovaLib:compileDebugNdk UP-TO-DATE
      :CordovaLib:compileLint
      :CordovaLib:copyDebugLint UP-TO-DATE
      :CordovaLib:mergeDebugShaders
      :CordovaLib:compileDebugShaders
      :CordovaLib:generateDebugAssets
      :CordovaLib:mergeDebugAssets
      :CordovaLib:mergeDebugProguardFiles UP-TO-DATE
      :CordovaLib:packageDebugRenderscript UP-TO-DATE
      :CordovaLib:compileDebugRenderscript
      :CordovaLib:generateDebugResValues
      :CordovaLib:generateDebugResources
      :CordovaLib:packageDebugResources
      :CordovaLib:processDebugManifest
      :CordovaLib:generateDebugBuildConfig
      :CordovaLib:processDebugResources
      :CordovaLib:generateDebugSources
      :CordovaLib:incrementalDebugJavaCompilationSafeguard
      :CordovaLib:compileDebugJavaWithJavac
      :CordovaLib:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
      Note: Some input files use or override a deprecated API.
      Note: Recompile with -Xlint:deprecation for details.
      :CordovaLib:processDebugJavaRes UP-TO-DATE
      :CordovaLib:transformResourcesWithMergeJavaResForDebug
      :CordovaLib:transformClassesAndResourcesWithSyncLibJarsForDebug
      :CordovaLib:mergeDebugJniLibFolders
      :CordovaLib:transformNative_libsWithMergeJniLibsForDebug
      :CordovaLib:transformNative_libsWithSyncJniLibsForDebug
      :CordovaLib:bundleDebug
      :CordovaLib:preReleaseBuild UP-TO-DATE
      :CordovaLib:checkReleaseManifest
      :CordovaLib:prepareReleaseDependencies
      :CordovaLib:compileReleaseAidl
      :CordovaLib:compileReleaseNdk UP-TO-DATE
      :CordovaLib:copyReleaseLint UP-TO-DATE
      :CordovaLib:mergeReleaseShaders
      :CordovaLib:compileReleaseShaders
      :CordovaLib:generateReleaseAssets
      :CordovaLib:mergeReleaseAssets
      :CordovaLib:mergeReleaseProguardFiles UP-TO-DATE
      :CordovaLib:packageReleaseRenderscript UP-TO-DATE
      :CordovaLib:compileReleaseRenderscript
      :CordovaLib:generateReleaseResValues
      :CordovaLib:generateReleaseResources
      :CordovaLib:packageReleaseResources
      :CordovaLib:processReleaseManifest
      :CordovaLib:generateReleaseBuildConfig
      :CordovaLib:processReleaseResources
      :CordovaLib:generateReleaseSources
      :CordovaLib:incrementalReleaseJavaCompilationSafeguard
      :CordovaLib:compileReleaseJavaWithJavac
      :CordovaLib:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
      Note: Some input files use or override a deprecated API.
      Note: Recompile with -Xlint:deprecation for details.
      :CordovaLib:processReleaseJavaRes UP-TO-DATE
      :CordovaLib:transformResourcesWithMergeJavaResForRelease
      :CordovaLib:transformClassesAndResourcesWithSyncLibJarsForRelease
      :CordovaLib:mergeReleaseJniLibFolders
      :CordovaLib:transformNative_libsWithMergeJniLibsForRelease
      :CordovaLib:transformNative_libsWithSyncJniLibsForRelease
      :CordovaLib:bundleRelease
      :prepareComAndroidSupportSupportV42411Library
      :prepareOrgApacheCordovaCordovaLib630DebugLibrary
      :prepareDebugDependencies
      :compileDebugAidl
      :compileDebugRenderscript
      :generateDebugBuildConfig
      :generateDebugResValues
      :generateDebugResources
      :mergeDebugResources
      :processDebugManifest
      :processDebugResources
      :generateDebugSources
      :incrementalDebugJavaCompilationSafeguard
      :compileDebugJavaWithJavac
      :compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
      Note: Some input files use or override a deprecated API.
      Note: Recompile with -Xlint:deprecation for details.
      :compileDebugNdk UP-TO-DATE
      :compileDebugSources
      :mergeDebugShaders
      :compileDebugShaders
      :generateDebugAssets
      :mergeDebugAssets
      :transformClassesWithDexForDebug
      :mergeDebugJniLibFolders
      :transformNative_libsWithMergeJniLibsForDebug
      :processDebugJavaRes UP-TO-DATE
      :transformResourcesWithMergeJavaResForDebug
      :validateSigningDebug
      :packageDebug
      :assembleDebug
      :cdvBuildDebug
      
      BUILD SUCCESSFUL
      
      Total time: 12.142 secs
      Built the following apk(s): 
              /home/sukanime/AndroidStudioProjects/SaklarWiFi/platforms/android/build/outputs/apk/android-debug.apk
      sukanime@Asus-X201EV:~/AndroidStudioProjects/SaklarWiFi$ cordova build android
      Error: Path must be a string. Received undefined
      sukanime@Asus-X201EV:~/AndroidStudioProjects/SaklarWiFi$ 
      

      i have try to update to cordova 7.1.0 , but its not solved.

      sukanime@Asus-X201EV:~$ npm install cordova
      npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
      npm WARN saveError ENOENT: no such file or directory, open '/home/sukanime/package.json'
      npm notice created a lockfile as package-lock.json. You should commit this file.
      npm WARN enoent ENOENT: no such file or directory, open '/home/sukanime/package.json'                                                                                                                                                           
      npm WARN sukanime No description                                                                                                                                                                                                                
      npm WARN sukanime No repository field.                                                                                                                                                                                                          
      npm WARN sukanime No README data                                                                                                                                                                                                                
      npm WARN sukanime No license field.                                                                                                                                                                                                             
                                                                                                                                                                                                                                                      
      + cordova@7.1.0                                                                                                                                                                                                                                 
      added 612 packages in 47.679s                                                                                                                                                                                                                   
      sukanime@Asus-X201EV:~$
      

      when i remove the "undefined" in android.json, i can succesfully running cordova build android
      here the android.json file:

      {
        "prepare_queue": {
          "installed": [],
          "uninstalled": []
        },
        "config_munge": {
          "files": {
            "res/xml/config.xml": {
              "parents": {
                "/*": [
                  {
                    "xml": "<feature name=\"Whitelist\"><param name=\"android-package\" value=\"org.apache.cordova.whitelist.WhitelistPlugin\" /><param name=\"onload\" value=\"true\" /></feature>",
                    "count": 1
                  },
                  {
                    "xml": "<feature name=\"Camera\"><param name=\"android-package\" value=\"org.apache.cordova.camera.CameraLauncher\" /></feature>",
                    "count": 1
                  },
                  {
                    "xml": "<feature name=\"InAppBrowser\"><param name=\"android-package\" value=\"org.apache.cordova.inappbrowser.InAppBrowser\" /></feature>",
                    "count": 1
                  },
                  {
                    "xml": "<feature name=\"networkinterface\"><param name=\"android-package\" value=\"com.albahra.plugin.networkinterface.networkinterface\" /></feature>",
                    "count": 1
                  },
                  {
                    "xml": "<feature name=\"SplashScreen\"><param name=\"android-package\" value=\"org.apache.cordova.splashscreen.SplashScreen\" /><param name=\"onload\" value=\"true\" /></feature>",
                    "count": 1
                  },
                  {
                    "xml": "<feature name=\"StatusBar\"><param name=\"android-package\" value=\"org.apache.cordova.statusbar.StatusBar\" /><param name=\"onload\" value=\"true\" /></feature>",
                    "count": 1
                  },
                  {
                    "xml": "<feature name=\"Geolocation\"><param name=\"android-package\" value=\"org.apache.cordova.geolocation.Geolocation\" /></feature>",
                    "count": 1
                  }
                ]
              }
            },
            "AndroidManifest.xml": {
              "parents": {
                "/*": [
                  {
                    "xml": "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />",
                    "count": 1
                  },
                  {
                    "xml": "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\" />",
                    "count": 1
                  },
                  {
                    "xml": "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />",
                    "count": 1
                  },
                  {
                    "xml": "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />",
                    "count": 1
                  },
                  {
                    "xml": "<uses-feature android:name=\"android.hardware.location.gps\" />",
                    "count": 1
                  }
                ],
                "application": [
                  {
                    "xml": "<provider android:authorities=\"${applicationId}.provider\" android:exported=\"false\" android:grantUriPermissions=\"true\" android:name=\"android.support.v4.content.FileProvider\"><meta-data android:name=\"android.support.FILE_PROVIDER_PATHS\" android:resource=\"@xml/provider_paths\" /></provider>",
                    "count": 1
                  }
                ]
              }
            },
            "undefined": {
              "parents": {
                "/manifest": [
                  {
                    "xml": "<uses-sdk android:minSdkVersion=\"10\" android:targetSdkVersion=\"22\" />",
                    "count": 1
                  },
                  {
                    "xml": "<uses-feature android:name=\"android.hardware.location.gps\" android:required=\"false\" />",
                    "count": 1
                  },
                  {
                    "xml": "<supports-screens android:largeScreens=\"true\" android:smallScreens=\"true\" android:xlargeScreens=\"true\" />",
                    "count": 1
                  },
                  {
                    "xml": "<application android:theme=\"@android:style/Theme.Holo.Light.NoActionBar\"><activity android:theme=\"@android:style/Theme.Holo.Light.NoActionBar\" /></application>",
                    "count": 1
                  }
                ]
              }
            }
          }
        },
        "installed_plugins": {
          "cordova-plugin-whitelist": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-3dtouch": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-camera": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-inappbrowser": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-networkinterface": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-splashscreen": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-statusbar": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-geolocation": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          },
          "cordova-plugin-transport-security": {
            "PACKAGE_NAME": "com.petaniteguh.saklarwifi"
          }
        },
        "dependent_plugins": {},
        "modules": [
          {
            "id": "cordova-plugin-3dtouch.ThreeDeeTouch",
            "file": "plugins/cordova-plugin-3dtouch/www/ThreeDeeTouch.js",
            "pluginId": "cordova-plugin-3dtouch",
            "clobbers": [
              "ThreeDeeTouch"
            ]
          },
          {
            "id": "cordova-plugin-camera.Camera",
            "file": "plugins/cordova-plugin-camera/www/CameraConstants.js",
            "pluginId": "cordova-plugin-camera",
            "clobbers": [
              "Camera"
            ]
          },
          {
            "id": "cordova-plugin-camera.CameraPopoverOptions",
            "file": "plugins/cordova-plugin-camera/www/CameraPopoverOptions.js",
            "pluginId": "cordova-plugin-camera",
            "clobbers": [
              "CameraPopoverOptions"
            ]
          },
          {
            "id": "cordova-plugin-camera.camera",
            "file": "plugins/cordova-plugin-camera/www/Camera.js",
            "pluginId": "cordova-plugin-camera",
            "clobbers": [
              "navigator.camera"
            ]
          },
          {
            "id": "cordova-plugin-camera.CameraPopoverHandle",
            "file": "plugins/cordova-plugin-camera/www/CameraPopoverHandle.js",
            "pluginId": "cordova-plugin-camera",
            "clobbers": [
              "CameraPopoverHandle"
            ]
          },
          {
            "id": "cordova-plugin-inappbrowser.inappbrowser",
            "file": "plugins/cordova-plugin-inappbrowser/www/inappbrowser.js",
            "pluginId": "cordova-plugin-inappbrowser",
            "clobbers": [
              "cordova.InAppBrowser.open",
              "window.open"
            ]
          },
          {
            "id": "cordova-plugin-networkinterface.networkinterface",
            "file": "plugins/cordova-plugin-networkinterface/www/networkinterface.js",
            "pluginId": "cordova-plugin-networkinterface",
            "clobbers": [
              "window.networkinterface"
            ]
          },
          {
            "id": "cordova-plugin-splashscreen.SplashScreen",
            "file": "plugins/cordova-plugin-splashscreen/www/splashscreen.js",
            "pluginId": "cordova-plugin-splashscreen",
            "clobbers": [
              "navigator.splashscreen"
            ]
          },
          {
            "id": "cordova-plugin-statusbar.statusbar",
            "file": "plugins/cordova-plugin-statusbar/www/statusbar.js",
            "pluginId": "cordova-plugin-statusbar",
            "clobbers": [
              "window.StatusBar"
            ]
          },
          {
            "id": "cordova-plugin-geolocation.geolocation",
            "file": "plugins/cordova-plugin-geolocation/www/android/geolocation.js",
            "pluginId": "cordova-plugin-geolocation",
            "clobbers": [
              "navigator.geolocation"
            ]
          },
          {
            "id": "cordova-plugin-geolocation.PositionError",
            "file": "plugins/cordova-plugin-geolocation/www/PositionError.js",
            "pluginId": "cordova-plugin-geolocation",
            "runs": true
          }
        ],
        "plugin_metadata": {
          "cordova-plugin-whitelist": "1.3.2",
          "cordova-plugin-3dtouch": "1.3.5",
          "cordova-plugin-camera": "2.4.1",
          "cordova-plugin-inappbrowser": "1.7.1",
          "cordova-plugin-networkinterface": "1.2.0",
          "cordova-plugin-splashscreen": "4.0.3",
          "cordova-plugin-statusbar": "2.2.3",
          "cordova-plugin-geolocation": "2.4.3",
          "cordova-plugin-transport-security": "0.1.2"
        }
      }
      

      Attachments

        Activity

          People

            bowserj Joey Robert Bowser
            TeguhTeknisi Teguh Teknisi
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: