ABBYY实时识别(cordova插件)错误

时间:2018-05-03 01:11:05

标签: java android cordova-plugins ocr abbyy

我正在尝试测试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()'关于空对象引用'但我不知道如何解决这个问题...如果有人可以给我一些指导,我会很感激。这个插件应该可以正常工作或者我我想是这样的,我不认为在没有一点帮助的情况下像疯了一样玩代码是个好主意......

我正在使用:

  • Java JDK 1.8.0_172
  • Android 7.0
  • Cordova 8.0.0
  • 真实物理设备(华为P10)

如果您需要更多规格,请通知我,并告诉您我尝试运行该应用程序的环境的每个部分。

1 个答案:

答案 0 :(得分:0)

这是由于cordova-android 7不兼容。 issue was reported和A fix PR已提交。但是,尚未合并。该修补程序经测试可与cordova-android 7.0.0一起使用。

您可以在等待PR合并的同时派生一个版本。