gpt4 book ai didi

android - Ionic 5 Phonegap-NFC 插件安装时未安装错误

转载 作者:行者123 更新时间:2023-12-03 05:32:53 25 4
gpt4 key购买 nike

使用 NFC 库时,Ionic 文档推荐
(https://github.com/chariotsolutions/phonegap-nfc)
(https://ionicframework.com/docs/native/nfc) 尝试通过“ionic serve --devapp”CLI 命令访问组件中调用 Android One Plus 上的 ndef 或 nfc 提供程序的代码时,出现“未安装插件”错误。它还说 devapp 不支持这个插件,但我不清楚在这种情况下我应该如何明智地使用这个包测试。

根据这篇文章对 Ionic 3 的建议指定版本 4 后,我得到了一个不同的错误。这是安装了 rxjs-compat 并且除了模块和组件中的导入以及注入(inject)构造函数之外,没有任何 nfc/ndef 代码实际使用。

这是使用“从'@ionic-native/nfc'导入{Ndef,NFC};”而不是像上面的/nfc/ngx 。

Uncaught TypeError: Object(...) is not a function
at index.js:405
at Module../node_modules/@ionic-native/nfc/index.js (index.js:599)
at __webpack_require__ (bootstrap:84)
at Module../src/app/app.module.ts (app.component.ts:12)
at __webpack_require__ (bootstrap:84)
at Module../src/main.ts (main.ts:1)
at __webpack_require__ (bootstrap:84)
at Object.0 (main.ts:12)
at __webpack_require__ (bootstrap:84)
at checkDeferredModules (bootstrap:45)

当我尝试构建应用程序而不是使用 devapp 提供它时,我遇到了这个(也许是不相关的)错误,即使我在 Windows 10 上的 Android Studio 中运行该应用程序并且在我的中定义了我的 Java、Android 和 Gradle 路径环境变量。
ANDROID_HOME=C:\Users\Sam\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio

我在 app 模块中添加了导入和提供程序。
import {Ndef, NFC} from '@ionic-native/nfc';

@NgModule({
...

providers: [
NFC,
Ndef,
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],

这就是我将提供者注入(inject)我的类(class)的方式。
import { Component } from '@angular/core';
import {ToastController} from '@ionic/angular';
import {Ndef, NFC} from '@ionic-native/nfc';

@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {

constructor(private nfc: NFC, private ndef: Ndef, private toast: ToastController) {

}

也许我在这方面完全走错了路,但是遵循文档或类似主题上可用的任何建议线程并没有导致任何地方。我接近这个错误吗?

编辑:在一个新项目中运行所有内容并确保我完成每一步都没有犯任何错误之后,我再次以 INSTALL PLUGIN ERROR 告终,就像这样。
[ng] [console.warn]: "Install the NFC plugin: 'ionic cordova plugin add phonegap-nfc'"
[ng] [console.warn]: "Native: tried calling NFC.removeNdefListener, but the NFC plugin is not installed."
[ng] [console.warn]: "Install the NFC plugin: 'ionic cordova plugin add phonegap-nfc'"
[ng] [console.log]: "Angular is running in the development mode. Call enableProdMode() to enable the production mode."
[ng] [console.log]: "calling _sync"
[ng] [console.error]: "ERROR" "plugin_not_installed"
[ng] [console.info]: "[WDS] Live Reloading enabled."
[ng] [console.log]: "calling _reload"
[ng] [console.log]: "done _reloading"
[ng] [console.log]: "Ionic Native: deviceready event fired after 836 ms"

仅当我在使用 serve --devapp 提供应用程序后在 DevApp 中打开应用程序的 Android 版本时,此错误才会出现在我的控制台中。当我在浏览器中运行它时它没有出现,然后它只是给了我“Cordova”不可用错误,我想这是在某些设备上不起作用的插件的标准。这是按照确切的分步过程完成的,包括 ionic 文档中的代码。 https://ionicframework.com/docs/native/nfc

EDIT2:它可能与 XML 处理错误有关。当执行与之前相同的步骤时,我在安装插件时遇到了一个错误,因为它在 Cordova 上安装了 iOS 和 Android 平台后自行解决了。运行“ionic cordova plugin add phonegap-nfc”命令后发生以下错误。但是该插件确实会安装,并且之后会在“cordova 插件列表”下列出,但安装可能不会完全正确完成。例如,该插件未列在 config.xml 中的插件下。
Failed to install 'phonegap-nfc': Error: Unable to graft xml at selector "/manifest/uses-sdk" from "C:\Users\cliem\Desktop\dev\nfctest\nfctest2\platforms\android\app\src\main\AndroidManifest.xml" during config install
at ConfigFile_graft_child [as graft_child] (C:\Users\cliem\Desktop\dev\nfctest\nfctest2\node_modules\cordova-common\src\ConfigChanges\ConfigFile.js:122:19)

最佳答案

长话短说,不要使用超过 8 的 Java 版本。NFC 插件不适用于 ionic serve --devapp,需要使用 ionic cordova run android 进行测试。控制台需要从 chrome://inspect 中读取。

关于android - Ionic 5 Phonegap-NFC 插件安装时未安装错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58307329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com