Android Dagger2获取NetworkModule_LoggingInterceptorFactory的NoClassDefFoundError错误
当我尝试在更多android设备上测试我的应用程序时,我遇到以下错误:Android Dagger2获取NetworkModule_LoggingInterceptorFactory的NoClassDefFoundError错误,android,dependency-injection,dagger-2,dagger,Android,Dependency Injection,Dagger 2,Dagger,当我尝试在更多android设备上测试我的应用程序时,我遇到以下错误: java.lang.NoClassDefFoundError: com.myapp.androidapp.Dagger.Modules.NetworkModule_LoggingInterceptorFactory 我搜索了更多关于Dagger的问题,但我找不到这个错误是什么,我如何解决这个问题 我的应用程序在索尼和联想表上运行良好,但在三星 应用程序类别: component = DaggerGithubApplicat
java.lang.NoClassDefFoundError: com.myapp.androidapp.Dagger.Modules.NetworkModule_LoggingInterceptorFactory
我搜索了更多关于Dagger的问题,但我找不到这个错误是什么,我如何解决这个问题
我的应用程序在索尼
和联想表
上运行良好,但在三星
应用程序类别:
component = DaggerGithubApplicationComponent.builder()
.contextModule(new ContextModule(this))
.jobManagerModule(new JobManagerModule())
.networkServiceModule(new NetworkServiceModule("https://api.github.com/"))
.build();
githubService = component.getGithubService();
picasso = component.getPicasso();
jobManager = component.getJobManager();
handler = component.getHandler();
我的网络模块类:
@Module(includes = ContextModule.class)
public class NetworkModule {
@Provides
@AlachiqApplicationScope
public HttpLoggingInterceptor loggingInterceptor() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Timber.e(message);
}
});
interceptor.setLevel(HttpLoggingInterceptor.Level.BASIC);
return interceptor;
}
@Provides
@AlachiqApplicationScope
public RxJavaCallAdapterFactory rxAdapter() {
return RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io());
}
@Provides
@AlachiqApplicationScope
public Cache cache(File cacheFile) {
return new Cache(cacheFile, 10 * 1000 * 1000); //10MB Cahe
}
@Provides
@AlachiqApplicationScope
public File cacheFile(@ApplicationContext Context context) {
return new File(context.getCacheDir(), "okhttp_cache");
}
@Provides
@AlachiqApplicationScope
public OkHttpClient okHttpClient(HttpLoggingInterceptor loggingInterceptor, Cache cache) {
return new OkHttpClient.Builder()
.addInterceptor(loggingInterceptor)
.cache(cache)
.build();
}
}
GitHub应用程序组件:
@MyAppApplicationScope
@Component(
modules = {
UserInformationModule.class,
NetworkServiceModule.class,
PicassoModule.class,
JobManagerModule.class,
SocketModule.class,
HandlerModule.class,
ActivityModule.class
}
)
public interface GithubApplicationComponent {
GithubService getGithubService();
JobManager getJobManager();
Picasso getPicasso();
Socket getSocket();
Handler getHandler();
}
我的完整日志:
java.lang.NoClassDefFoundError: com.myapp.androidapp.Dagger.Modules.NetworkModule_LoggingInterceptorFactory
at com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent.initialize(DaggerGithubApplicationComponent.java:87)
at com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent.<init>(DaggerGithubApplicationComponent.java:76)
at com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent.<init>(DaggerGithubApplicationComponent.java:0)
at com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent$Builder.build(DaggerGithubApplicationComponent.java:210)
at com.myapp.androidapp.Alachiq.onCreate(Alachiq.java:124)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4717)
at android.app.ActivityThread.access$1600(ActivityThread.java:163)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5536)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1397)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1192)
java.lang.NoClassDefFoundError:com.myapp.androidapp.Dagger.Modules.NetworkModule\u LoggingInterceptorFactory
在com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent.initialize(DaggerGithubApplicationComponent.java:87)
位于com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent.(DaggerGithubApplicationComponent.java:76)
位于com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent。(DaggerGithubApplicationComponent.java:0)
在com.myapp.androidapp.Dagger.Components.DaggerGithubApplicationComponent$Builder.build(DaggerGithubApplicationComponent.java:210)上
位于com.myapp.androidapp.Alachiq.onCreate(Alachiq.java:124)
在android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)
位于android.app.ActivityThread.handleBindApplication(ActivityThread.java:4717)
在android.app.ActivityThread.access上$1600(ActivityThread.java:163)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:135)
位于android.app.ActivityThread.main(ActivityThread.java:5536)
位于java.lang.reflect.Method.invoke(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:372)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1397)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1192)
如果您(比如)签出分支并部署,而不首先执行清理
,则可能最终生成Dagger组件的旧版本。这就是这里发生的事情吗?或者是从Google Play store下载的应用程序版本中出现的错误?@DavidDrawson我使用的是dagger、clean project和invalidate cache的最新版本无法解决我的问题,应用程序是由我开发的,不存储在Google Play上。我想最好的办法是尝试制作一个复制问题的应用程序