cordova-plugin-janalytics集成失败
1.操作步骤:
按照 https://github.com/jpush/cordova-plugin-janalytics 上面的:
cordova plugin add cordova-plugin-janalytics --variable APP_KEY=极光appKey
2.报错信息:
Failed to install 'cordova-plugin-jcore': Error: ENOENT: no such file or directory, open '/Users/admin/workspace/company/MyApp/platforms/android/AndroidManifest.xml'
at Object.fs.openSync (fs.js:577:3)
at Object.fs.readFileSync (fs.js:483:33)
at Object.parseElementtreeSync (/Users/admin/workspace/company/MyApp/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js:180:27)
at new AndroidManifest (/Users/admin/workspace/company/MyApp/platforms/android/cordova/lib/AndroidManifest.js:29:20)
at AndroidProject.getPackageName (/Users/admin/workspace/company/MyApp/platforms/android/cordova/lib/AndroidProject.js:99:12)
at Api.addPlugin (/Users/admin/workspace/company/MyApp/platforms/android/cordova/Api.js:223:57)
at handleInstall (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:594:10)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:357:28
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:787:54)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:816:30
Failed to install 'cordova-plugin-janalytics': Error: ENOENT: no such file or directory, open '/Users/admin/workspace/company/MyApp/platforms/android/AndroidManifest.xml'
at Object.fs.openSync (fs.js:577:3)
at Object.fs.readFileSync (fs.js:483:33)
at Object.parseElementtreeSync (/Users/admin/workspace/company/MyApp/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js:180:27)
at new AndroidManifest (/Users/admin/workspace/company/MyApp/platforms/android/cordova/lib/AndroidManifest.js:29:20)
at AndroidProject.getPackageName (/Users/admin/workspace/company/MyApp/platforms/android/cordova/lib/AndroidProject.js:99:12)
at Api.addPlugin (/Users/admin/workspace/company/MyApp/platforms/android/cordova/Api.js:223:57)
at handleInstall (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:594:10)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:357:28
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:787:54)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:816:30
(node:21464) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/Users/admin/workspace/company/MyApp/platforms/android/AndroidManifest.xml'
at Object.fs.openSync (fs.js:577:3)
at Object.fs.readFileSync (fs.js:483:33)
at Object.parseElementtreeSync (/Users/admin/workspace/company/MyApp/platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js:180:27)
at new AndroidManifest (/Users/admin/workspace/company/MyApp/platforms/android/cordova/lib/AndroidManifest.js:29:20)
at AndroidProject.getPackageName (/Users/admin/workspace/company/MyApp/platforms/android/cordova/lib/AndroidProject.js:99:12)
at Api.addPlugin (/Users/admin/workspace/company/MyApp/platforms/android/cordova/Api.js:223:57)
at handleInstall (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:594:10)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:357:28
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:787:54)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:816:30
3.系统及版本:
OS: macOS High Sierra 10.13.4
cordova cli:8.0.0
"cordova-android": "7.0.0",
"cordova-ios": "4.5.4",
寻求帮助,非常感谢!
找到了问题原因:
"cordova-android": "7.0.0"改变了/platforms/android下的目录结构,这一改变不仅影响到集成plugin,还影响到cordova prepare
这一命令的结果(反正我跑cordova prepare
命令是报错的。)。
所以在辛勤的开发兼容7.0.0之前,降级你的cordova-android是不错的方法:
cordova platform update android@6.4.0
如果不灵,直接删了再加:
cordova platform rm android
cordova platform add android@6.4.0