Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Dagger2获取NetworkModule_LoggingInterceptorFactory的NoClassDefFoundError错误_Android_Dependency Injection_Dagger 2_Dagger - Fatal编程技术网

Android Dagger2获取NetworkModule_LoggingInterceptorFactory的NoClassDefFoundError错误

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

当我尝试在更多android设备上测试我的应用程序时,我遇到以下错误:

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上。我想最好的办法是尝试制作一个复制问题的应用程序