Как разрешить java.lang.RuntimeException: Stub! ошибка в файле .java?

Я пытаюсь классифицировать экземпляр, используя файл .model, который я создал в графическом интерфейсе Weka. Кажется, я успешно классифицировал тестовый экземпляр, однако я не уверен, смогу ли я успешно загрузить мой файл .model и ошибки компилятора заглушки.

Я попытался удалить extends AppCompatActivity, и если это повлияет на загрузку .model. Оказывается, чтобы использовать getAssets(), код должен находиться в действии. Однако я до сих пор не уверен, есть ли у модели выгрузка и необычная ошибка компилятора. Я следовал базовой структуре работать на GitHub @davidmascharka (он также загружает модель WEKA из активов), но моя не компилируется.

Вот мой код:

package com.example.owner.introductoryapplication;

import android.support.v7.app.AppCompatActivity;

import weka.classifiers.Classifier;
import weka.classifiers.rules.DecisionTable;
import weka.core.Attribute;
import weka.core.DenseInstance;
import weka.core.Instances;

import java.util.ArrayList;

public class Test extends AppCompatActivity {
    public static void main(String[] args) {
        Test test = new Test();
        test.start();
    }

    public void start() {
        //LOADS THE MODEL...------------------------------------------------------
        String rootPath = "/assets/";
        String fileName = "PGBD_DecisionTableUPD.model";
        Classifier cls = null;
        try {
            //cls = (Classifier) weka.core.SerializationHelper.read(rootPath + fileName);
            cls = (DecisionTable) weka.core.SerializationHelper.read(getAssets().open(fileName));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

И вот мой вывод ошибки:

Exception in thread "main" java.lang.RuntimeException: Stub!
    at android.content.Context.<init>(Context.java:67)
    at android.content.ContextWrapper.<init>(ContextWrapper.java:30)
    at android.view.ContextThemeWrapper.<init>(ContextThemeWrapper.java:40)
    at android.app.Activity.<init>(Activity.java:643)
    at android.support.v4.app.SupportActivity.<init>(ComponentActivity.java:46)
    at android.support.v4.app.FragmentActivity.<init>(FragmentActivity.java:68)
    at android.support.v7.app.AppCompatActivity.<init>(AppCompatActivity.java:62)
    at com.example.owner.introductoryapplication.Test.<init>(Test.java:13)
    at com.example.owner.introductoryapplication.Test.main(Test.java:15)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131)

Process finished with exit code 1

Ожидаю, что программа хотя бы скомпилируется! Я понятия не имею, почему это не так. Я попытался изменить порядок своих зависимостей, надеясь, что это изменит ситуацию, но безуспешно.

Любые идеи?

Заранее спасибо.

Этот вопрос уже задан stackoverflow.com/questions/8982631/…

rishav prasher 04.01.2019 10:35

Надеюсь, это поможет

rishav prasher 04.01.2019 10:37

@rishavprasher Спасибо за ссылку. В нем упоминается, что я должен запустить это на эмуляторе Android или непосредственно на устройстве, но я просто печатаю его с помощью System.out, а не на экране устройства.

Shounak Ray 04.01.2019 10:40

добро пожаловать @Shounak Ray

rishav prasher 04.01.2019 10:41

@rishavprasher Я не могу использовать это для решения своей проблемы ...!

Shounak Ray 04.01.2019 19:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
5
3 444
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это могло быть рассмотрено ранее, но weka.jarТолько допускает реализации заглушек. По сути, вы должны настроить параметр запуска на «приложение», а не на конкретный файл.

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

Другие вопросы по теме