toventang / cordova-plugin-crosspay

cordova跨平台支付插件,现支持ios、android。
3 stars 1 forks source link

Can't be used in Cordova 8.0.0 #1

Open szc982 opened 6 years ago

szc982 commented 6 years ago

the resource path is different to the older Cordova

toventang commented 6 years ago

maybe you can download it and use the physical path to install.

szc982 commented 6 years ago

①这是添加了Android平台后再添加插件的报错信息 1 `D:\ionic3\ionic3-pay3>cordova plugin add https://github.com/toventang/cordova-plugin-crosspay.git Installing "cordova-plugin-crosspay" for android Android Studio project detected Running android-install.Hook: after_plugin_install, Package: io.ionic.starter, Path: D:\ionic3\ionic3-pay3. Installing "cordova-plugin-crosspay" for windows Replace file D:\ionic3\ionic3-pay3\platforms\android\src\io\ionic\starter\wxapi\WXPayEntryActivity.java packag eName: io.ionic.starter Adding cordova-plugin-crosspay to package.json Saved plugin info for "cordova-plugin-crosspay" to config.xml

D:\ionic3\ionic3-pay3>cordova build android cp: copyFileSync: could not write to dest file (code=ENOENT):D:\ionic3\ionic3-pay3\platforms\android\res\xml\c onfig.xml

Parsing D:\ionic3\ionic3-pay3\platforms\android\res\xml\config.xml failed (node:12104) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'D:\ionic3\ionic 3-pay3\platforms\android\res\xml\config.xml' at Object.fs.openSync (fs.js:646:18) at Object.fs.readFileSync (fs.js:551:33) at Object.parseElementtreeSync (D:\ionic3\ionic3-pay3\platforms\android\cordova\node_modules\cordova-commo n\src\util\xml-helpers.js:180:27) at new ConfigParser (D:\ionic3\ionic3-pay3\platforms\android\cordova\node_modules\cordova-common\src\Confi gParser\ConfigParser.js:30:24) at updateConfigFilesFrom (D:\ionic3\ionic3-pay3\platforms\android\cordova\lib\prepare.js:106:18) at Api.module.exports.prepare (D:\ionic3\ionic3-pay3\platforms\android\cordova\lib\prepare.js:42:20) at Api.prepare (D:\ionic3\ionic3-pay3\platforms\android\cordova\Api.js:192:45) at C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\pr epare.js:106:36 at _fulfilled (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\no de_modules\q\q.js:787:54) at self.promiseDispatch.done (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules \cordova-lib\node_modules\q\q.js:816:30) (node:12104) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by th rowing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:12104) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.`

②这是新添加Android平台的报错信息 2 D:\ionic3\ionic3-pay3>cordova platform add android Using cordova-fetch for cordova-android@~7.0.0 Adding android project... Creating Cordova project for the Android platform: Path: platforms\android Package: io.ionic.starter Name: 20180330 Activity: MainActivity Android target: android-26 Subproject Path: CordovaLib Subproject Path: app Android project created with cordova-android@7.0.0 Android Studio project detected Android Studio project detected Installing "coolPlugin" for android Installing "cordova-plugin-crosspay" for android Running android-install.Hook: after_plugin_install, Package: io.ionic.starter, Path: D:\ionic3\ionic3-pay3. Installing "cordova-plugin-device" for android Replace file D:\ionic3\ionic3-pay3\platforms\android\src\io\ionic\starter\wxapi\WXPayEntryActivity.java packag eName: io.ionic.starter Failed to install 'cordova-plugin-device': Error: ENOENT: no such file or directory, open 'D:\ionic3\ionic3-pa y3\platforms\android\AndroidManifest.xml' at Object.fs.openSync (fs.js:646:18) at Object.fs.readFileSync (fs.js:551:33) at Object.parseElementtreeSync (D:\ionic3\ionic3-pay3\platforms\android\cordova\node_modules\cordova-commo n\src\util\xml-helpers.js:180:27) at new AndroidManifest (D:\ionic3\ionic3-pay3\platforms\android\cordova\lib\AndroidManifest.js:29:20) at AndroidProject.getPackageName (D:\ionic3\ionic3-pay3\platforms\android\cordova\lib\AndroidProject.js:99 :12) at Api.addPlugin (D:\ionic3\ionic3-pay3\platforms\android\cordova\Api.js:223:57) at handleInstall (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib \src\plugman\install.js:594:10) at C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\in stall.js:357:28 at _fulfilled (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\no de_modules\q\q.js:787:54) at self.promiseDispatch.done (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules \cordova-lib\node_modules\q\q.js:816:30) (node:12868) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'D:\ionic3\ionic 3-pay3\platforms\android\AndroidManifest.xml' at Object.fs.openSync (fs.js:646:18) at Object.fs.readFileSync (fs.js:551:33) at Object.parseElementtreeSync (D:\ionic3\ionic3-pay3\platforms\android\cordova\node_modules\cordova-commo n\src\util\xml-helpers.js:180:27) at new AndroidManifest (D:\ionic3\ionic3-pay3\platforms\android\cordova\lib\AndroidManifest.js:29:20) at AndroidProject.getPackageName (D:\ionic3\ionic3-pay3\platforms\android\cordova\lib\AndroidProject.js:99 :12) at Api.addPlugin (D:\ionic3\ionic3-pay3\platforms\android\cordova\Api.js:223:57) at handleInstall (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib \src\plugman\install.js:594:10) at C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\in stall.js:357:28 at _fulfilled (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\no de_modules\q\q.js:787:54) at self.promiseDispatch.done (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules \cordova-lib\node_modules\q\q.js:816:30) (node:12868) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by th rowing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:12868) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

③这是Cordova8.0的Android目录结构 3 ④猜测:可能是Android目录调整导致的,不过项目原有的Cordova-plugin-device等不存在这个问题 ⑤疑问:hook文件android-install.js的作用是?

toventang commented 6 years ago

@szc982 看你的错误信息: Parsing D:\ionic3\ionic3-pay3\platforms\android\res\xml\config.xml failed (node:12104) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'D:\ionic3\ionic 3-pay3\platforms\android\res\xml\config.xml' 是因为你这个config.xml文件不存在,你可能需要重新添加android平台:ionic cordova platform rm android && ionic cordova platform add android

szc982 commented 6 years ago

@toventang 我就是重新添加的,你用一下新版的Cordova试试,现在platform/android下面已经没有res文件了,全部移到platform/android/src/main下面了

toventang commented 6 years ago

不好意思,现在才更新,我想你已经解决。