NoClassDefFound Ошибка при вызове одноэлементного класса Java в классе kotlin

как я смогу получить данные из класса Singleton java в классе kotlin.? так как мой проект - старый проект, и все приложение находится на java, теперь я реализую его новый модуль в kotlin, где я использую Java Singleton (CurrentUser.java) в сервисном классе kotlin (UpdateWidgetService.kt), в то время как я использую этот код CurrentUser.getInstance().userType для определения типа пользователя в Мой класс обслуживания бросает исключение ниже

Process: com.example.myapp, PID: 27066
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/myapp/main/CurrentUser

Джава

   public class CurrentUser {

          String userType = "";

     private static CurrentUser instance;

      public static CurrentUser getInstance() {
            if (instance == null) {
                instance = new CurrentUser();
            }
            return instance;
        }

        public void setUserType(String userType) {
            this.userType = userType;
        }

        public String getUserType() {
            return userType ;
        }



    }

Котлин

CurrentUser.getInstance().userType
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
525
3

Ответы 3

В котлине получите userType как это

 val userType=CurrentUser.getInstance().userType

Я получаю NoClassDefFoundError для класса CurrentUser.java при использовании его в классе kotlin .. как я смогу получить значение usertype.? если мой класс не найден.?

Atif AbbAsi 31.10.2018 11:20

Убедитесь, что пакет импорта - это правильный путь к CurrentUser

sasikumar 31.10.2018 11:21

затем аннулируйте кеши студии Android и перестройте проект

sasikumar 31.10.2018 11:24

Я пробовал все возможные решения (очистить / восстановить / убить процесс и т. д.), Но не смог.

Atif AbbAsi 31.10.2018 11:25

Не могли бы вы предоставить информацию, если вы используете ProGuard для минимизации кода?

Если да, убедитесь, что вы добавили класс модели в файл proguard-rules.pro

exmp: -keep class имя_пакета.models. * {*; }

Я не пользуюсь охраной.

Atif AbbAsi 31.10.2018 11:35

Восстановите и сделайте недействительным кеш вашего проекта, а затем перезапустите студию Android. Также синхронизировать файловую систему. У меня была такая же проблема, и я проделал этот трюк, и у меня это сработало. Надеюсь, это может вам помочь.

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