Ошибка распознавания в реальном времени ABBYY (плагин Cordova) - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь протестировать плагин для cordova на распознавании OCR, предложенный компанией Abbyy. Поскольку я читаю, это бесплатно, и они не предлагают поддержку, вы можете поддержать себя только в сообществе вашего форума (уже говорите с поддержкой по почте).

Ну, причина моего поста в следующем ...

Я выполнил шаги, написанные здесь: 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
  • Кордова 8.0.0
  • Реальное физическое устройство (Huawei P10)

Если вам нужны дополнительные спецификации, сообщите мне, и я проинформирую вас о каждой части среды, в которой я пытаюсь запустить приложение.

1 Ответ

0 голосов
/ 25 августа 2018

Это было связано с несовместимостью Cordova-Android 7. О проблеме было сообщено , и было отправлено A fix PR . Однако он еще не был объединен. Исправление протестировано для работы с cordova-android 7.0.0.

Вы можете раскошелиться на версию, ожидая слияния PR.

...