我正在尝试测试Abbyy公司提供的有关OCR识别的cordova插件。我读到它是免费的,他们不提供支持,你只能支持你自己的论坛社区(已经通过邮件与支持人员交谈)。
好吧,我发帖的原因如下......
我按照此处写的步骤进行了操作:https://github.com/abbyysdk/RTR-SDK.Cordova
经过艰苦的斗争后,我设法在Android上运行应用程序而不会在执行cordova run android命令时启动任何错误。在我的index.js文件中,我在onDeviceReady方法中添加了以下内容:
var app = {
// Application Constructor
initialize: function () {
document.addEventListener ('deviceready', this.onDeviceReady.bind (this), false);
},
// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function () {
this.receivedEvent ('deviceready');
AbbyyRtrSdk.startTextCapture (function (c) {
console.log ('callback:', c);
}, {
licenseFileName: 'www / rtr_assets / AbbyyRtrSdk.license'
});
},
// Update DOM on a Received Event
receivedEvent: function (id) {
var parentElement = document.getElementById (id);
var listeningElement = parentElement.querySelector ('. listening');
var receivedElement = parentElement.querySelector ('. received');
listeningElement.setAttribute ('style', 'display: none;');
receivedElement.setAttribute ('style', 'display: block;');
console.log ('Received Event:' + id);
}
};
app.initialize ();
到此为止一切都是正确的。后来我不明白为什么行console.log('callback:',c)的输出返回错误:“加载引擎时出现未指定的错误。有关详细信息,请参阅logcat。”。我是愚蠢的,因为我不知道在哪里抓住这个问题,所以我决定修改文件“cordova-plugin-abbyy-rtr-sdk \ src \ android \ java \ com \ abbyy \ mobile \ rtr \ cordova \ RtrPlugin。 java“,就在第134行,我将其更改为:onError(e.getMessage())以获取插件的真实错误,我发现以下消息:”尝试调用虚方法'void com.abbyy.mobile。 rtr.cordova.RtrManager.initWithLicense()'关于空对象引用'但我不知道如何解决这个问题...如果有人可以给我一些指导,我会很感激。这个插件应该可以正常工作或者我我想是这样的,我不认为在没有一点帮助的情况下像疯了一样玩代码是个好主意......
我正在使用:
如果您需要更多规格,请通知我,并告诉您我尝试运行该应用程序的环境的每个部分。
答案 0 :(得分:0)
这是由于cordova-android 7不兼容。 issue was reported和A fix PR已提交。但是,尚未合并。该修补程序经测试可与cordova-android 7.0.0一起使用。
您可以在等待PR合并的同时派生一个版本。