cordova-plugin-janalytics集成失败

leishu_ly
2018-06-12 02:34 1k 0

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

1个回答

热门排序
  • leishu_ly
    2018-06-12 02:47
    集成jpush-phonegap-plugin亦是如此。1.操作步骤: cordova plugin add jpush-phonegap-plugin --variable APP_KEY=My-key 2.报错信息: > In 展示全部