`Cordova 运行 android --device' 命令的 BLE 访问问题?
BLE access issue with `Cordova run android --device' command?
我正在使用 cordona/phonegap 构建一个简单的 BLE 应用程序。
我以BLE lock为例。 `cordova serve' 一切正常:cordova 可以使用 Phonegap Android 应用程序扫描和访问可用的 BLE 设备。
但是,使用“cordova 运行 android --device”,我可以构建一个独立的 Android 应用程序,将应用程序下载到我的 Android 设备;但是当我在 Android 设备上执行下载的应用程序时,没有显示 BLE 设备。
是什么造成了这种差异?我是否需要做更多的事情才能使独立应用程序访问 Android BLE 功能?
您需要将 cordova bluetooth plugin 安装到 Cordova 应用程序中。
cordova plugin add cordova-plugin-ble-central
如果您使用的是 phonegap cli,请尝试
phonegap plugin add cordova-plugin-ble-central
当 PhoneGap Developer App 中的 运行 时,该应用程序可以正常工作,因为该应用程序中的蓝牙插件是 pre-installed。当你运行直接在Cordova中时,你需要自己安装插件。
在安装插件之前,您可以使用 Chrome 查看错误。要从您的 Android 设备上的应用程序获取堆栈跟踪: 在您的计算机上打开 Chrome,输入 chrome://inspect,选择您的设备。您应该会在控制台中看到这样的消息。
安装插件并重新部署项目后,扫描应该可以进行。
cordova plugin add cordova-plugin-ble-central
cordova run android --device
Don 的回答对我来说(几乎)完美,但我认为我需要添加更多内容以防万一。
插件安装
我实际使用的命令是this site的phonegap plugin add cordova-plugin-ble-central
。
在那之后,我有一个用 BLE 库创建的插件目录。
修改 config.xml (?)
我认为这一步不是必需的,但 the site 说这两行应该添加到 config.xml 中,但我可以在没有这一步的情况下构建应用程序。
<gap:plugin name="cordova-plugin-ble-central" source="npm" />
<preference name="phonegap-version" value="cli-6.1.0" />
执行
我可以使用此命令来构建和安装应用程序。
cordova platform add android
cordova run android --device
问题原因
当我尝试一些BLE插件时,我想我安装了其他插件。结果,我的插件目录中有 com.megster.rordova.ble
和 cordova-plugin-ble-central
。我还猜测 config.xml 和 package.json 可能有一些错误的信息没有包含正确的 BLE 库。
所以,当我清理安装 BLE 锁程序,安装 BLE 插件并构建应用程序时,一切似乎都很好。
我正在使用 cordona/phonegap 构建一个简单的 BLE 应用程序。
我以BLE lock为例。 `cordova serve' 一切正常:cordova 可以使用 Phonegap Android 应用程序扫描和访问可用的 BLE 设备。
但是,使用“cordova 运行 android --device”,我可以构建一个独立的 Android 应用程序,将应用程序下载到我的 Android 设备;但是当我在 Android 设备上执行下载的应用程序时,没有显示 BLE 设备。
是什么造成了这种差异?我是否需要做更多的事情才能使独立应用程序访问 Android BLE 功能?
您需要将 cordova bluetooth plugin 安装到 Cordova 应用程序中。
cordova plugin add cordova-plugin-ble-central
如果您使用的是 phonegap cli,请尝试
phonegap plugin add cordova-plugin-ble-central
当 PhoneGap Developer App 中的 运行 时,该应用程序可以正常工作,因为该应用程序中的蓝牙插件是 pre-installed。当你运行直接在Cordova中时,你需要自己安装插件。
在安装插件之前,您可以使用 Chrome 查看错误。要从您的 Android 设备上的应用程序获取堆栈跟踪: 在您的计算机上打开 Chrome,输入 chrome://inspect,选择您的设备。您应该会在控制台中看到这样的消息。
安装插件并重新部署项目后,扫描应该可以进行。
cordova plugin add cordova-plugin-ble-central
cordova run android --device
Don 的回答对我来说(几乎)完美,但我认为我需要添加更多内容以防万一。
插件安装
我实际使用的命令是this site的phonegap plugin add cordova-plugin-ble-central
。
在那之后,我有一个用 BLE 库创建的插件目录。
修改 config.xml (?)
我认为这一步不是必需的,但 the site 说这两行应该添加到 config.xml 中,但我可以在没有这一步的情况下构建应用程序。
<gap:plugin name="cordova-plugin-ble-central" source="npm" />
<preference name="phonegap-version" value="cli-6.1.0" />
执行
我可以使用此命令来构建和安装应用程序。
cordova platform add android
cordova run android --device
问题原因
当我尝试一些BLE插件时,我想我安装了其他插件。结果,我的插件目录中有 com.megster.rordova.ble
和 cordova-plugin-ble-central
。我还猜测 config.xml 和 package.json 可能有一些错误的信息没有包含正确的 BLE 库。
所以,当我清理安装 BLE 锁程序,安装 BLE 插件并构建应用程序时,一切似乎都很好。