簡體   English   中英

在 kotlin 類中調用 Java 單例類時出現 NoClassDefFound 錯誤

[英]NoClassDefFound Error while calling Java singleton class in kotlin Class

我如何能夠從 kotlin 類中的 Java 的 Singleton 類中獲取數據。? 因為我的項目是一個舊項目,整個應用程序現在都在 Java 中,我正在 kotlin 中實現它的新模塊,我在 kotlin 的服務類(UpdateWidgetService.kt)使用 Java 的單例(CurrentUser.java) 。而我正在使用這個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

重建和無效緩存您的項目,然后重新啟動您的 android studio。 也同步文件系統。 我遇到了同樣的問題,我做了這個技巧,它對我有用。 希望這可以幫助你。

在 kotlin 中像這樣獲取 userType

 val userType=CurrentUser.getInstance().userType

如果您使用 ProGuard 來縮小代碼,您介意提供信息嗎?

如果是,請確保您在 proguard-rules.pro 文件中添加模型類

exmp: -keep class packagename.models.* { *; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM