Cordova does not create AndroidManifest.xml

Kamran picture Kamran · Dec 21, 2017 · Viewed 41.7k times · Source

I am working in Cordova and AndroidStudio to create Android/iOS apps. Everything was working fine until I updated my Cordova to 8 yesterday. I also updated Node to the latest. When I create a Cordova project and add the Android platform. It yields a totally different directory structure. I cannot see assets, res and src folders in project's platform directory D:\testApp1\platforms\android. More importantly, the above directory is missing AndroidManifest.xml, which is causing the admob plugin to fail in getting added.

Here is the error that I get while adding the plugin:

Failed to install 'cordova-plugin-admobpro': Error: ENOENT: no such file or directory, open 'D:\Projects\testApp1\platforms\android\AndroidManifest.xml' at Object.fs.openSync (fs.js:646:18) at Object.fs.readFileSync (fs.js:551:33) at Object.parseElementtreeSync (D:\Projects\testApp1\platforms\android\cordova\node_modules\cordova-common\src\util\xml-helpers.js:180:27) at new AndroidManifest (D:\Projects\testApp1\platforms\android\cordova\lib\AndroidManifest.js:29:20) at AndroidProject.getPackageName (D:\Projects\testApp1\platforms\android\cordova\lib\AndroidProject.js:99:12) at Api.addPlugin (D:\Projects\testApp1\platforms\android\cordova\Api.js:223:57) at handleInstall (C:\Users\Rao\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\install.js:594:10) at C:\Users\Rao\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\install.js:357:28 at _fulfilled (C:\Users\Rao\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:787:54) at self.promiseDispatch.done (C:\Users\Rao\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:816:30)

Can someone please help?

Answer

Raymond Xie picture Raymond Xie · Dec 22, 2017

Cordova CLI v8.0 will use [email protected] by default.

As most of the cordova plugins do not support [email protected] yet, you can also try using the older one by specifying version:

cordova platform add [email protected]

Or, if you feel comfortable to use [email protected], you can also wait for a update on cordova-plugi-admobpro to support the [email protected], it's coming soon.