在kotlin类中调用Java singleton类时发生NoClassDefFoundError
如何在kotlin类中从java的Singleton类获取数据。?由于我的项目是一个旧项目,整个应用程序都是用java实现的,现在我正在kotlin中实现它的新模块,在kotlin的服务类在kotlin类中调用Java singleton类时发生NoClassDefFoundError,java,android,kotlin,singleton,Java,Android,Kotlin,Singleton,如何在kotlin类中从java的Singleton类获取数据。?由于我的项目是一个旧项目,整个应用程序都是用java实现的,现在我正在kotlin中实现它的新模块,在kotlin的服务类(UpdateWidgetService.kt)中使用java的Singleton(CurrentUser.java),而我正在使用这个CurrentUser.getInstance().userType用于获取我的服务类中的用户类型的代码异常 Process: com.example.myapp, PID:
(UpdateWidgetService.kt)
中使用java的Singleton(CurrentUser.java)
,而我正在使用这个CurrentUser.getInstance().userType
用于获取我的服务类中的用户类型的代码异常
Process: com.example.myapp, PID: 27066
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/myapp/main/CurrentUser
Java
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 ;
}
}
Kotlin
CurrentUser.getInstance().userType
在kotlin中,像这样获取用户类型
val userType=CurrentUser.getInstance().userType
如果您使用ProGuard缩小代码,是否介意提供信息 如果是,请确保在proguard-rules.pro文件中添加模型类
exmp:-保留类packagename.models.*{*;}重建并使缓存项目无效,然后重新启动android studio。 还同步文件系统。 我也有同样的问题,我做了这个把戏,它对我起了作用。
希望这能对您有所帮助。在kotlin类中使用CurrentUser.java类时,我得到了NoClassDefFoundError。如何才能获得值usertype。?如果找不到我的类。?确保导入包是CurrentUsers的正确路径,然后使缓存无效android studio和重建项目我尝试了所有可能的解决方案(清除/重建/终止进程/等),但失败了。我没有使用pro guard。