解析失败:LandroidarchcoreexecutorAppToolkitTaskExecutor

解析失败:LandroidarchcoreexecutorAppToolkitTaskExecutor,第1张

概述我目前正在尝试使用Retrofit2设置Room.我想将数据从Retrofit2插入到Room数据库中,但插入对我来说不起作用,应用程序崩溃了.我使用RoomLibrary实现了三个组件:实体,Dao和数据库.我有结果这个错误.E/AndroidRuntime:致命异常:主要                  处理:com.exa

我目前正在尝试使用Retrofit2设置Room.我想将数据从Retrofit2插入到Room数据库中,但插入对我来说不起作用,应用程序崩溃了.我使用Room library实现了三个组件:实体,Dao和数据库.

我有结果这个错误.

E / AndroidRuntime:致命异常:主要
                  处理:com.example.a694532.e_controlling,PID:31841
                  java.lang.NoClassDefFoundError:解析失败:LandroID / arch / core / executor / AppToolkitTaskExecutor;
                      在androID.arch.persistence.room.InvalIDationTracker.refreshVersionsAsync(InvalIDationTracker.java:403)
                      在androID.arch.persistence.room.RoomDatabase.endTransaction(RoomDatabase.java:219)
                      在com.example.a694532.e_controlling.data.db.dao.GareDao_Impl.insertGares(GareDao_Impl.java:116)
                      at com.example.a694532.e_controlling.service.repository.TotoRepository $1.onResponse(TotoRepository.java:106)
                      at retrofit2.ExecutorCallAdapterFactory $ExecutorCallbackCall $1 $1.run(ExecutorCallAdapterFactory.java:70)
                      在androID.os.Handler.handleCallback(Handler.java:739)
                      在androID.os.Handler.dispatchMessage(Handler.java:95)
                      在androID.os.Looper.loop(Looper.java:158)
                      在androID.app.ActivityThread.main(ActivityThread.java:7224)
                      at java.lang.reflect.Method.invoke(Native Method)
                      在com.androID.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:1230)
                      在com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
                   引起:java.lang.classNotFoundException:路径上没有找到类“androID.arch.core.executor.AppToolkitTaskExecutor”:DexPathList [[zip file“/data/app/com.example.a694532.e_controlling-2/base .apk“,zip文件”/data/app/com.example.a694532.e_controlling-2/split_lib_dependencIEs_apk.apk“,zip文件”/data/app/com.example.a694532.e_controlling-2/split_lib_slice_0_apk.apk“, zip文件“/data/app/com.example.a694532.e_controlling-2/split_lib_slice_1_apk.apk”,zip文件“/data/app/com.example.a694532.e_controlling-2/split_lib_slice_2_apk.apk”,zip文件“/ data / app / com.example.a694532.e_controlling-2 / split_lib_slice_3_apk.apk“,zip file”/data/app/com.example.a694532.e_controlling-2/split_lib_slice_4_apk.apk“,zip file”/ data / app / com.example.a694532.e_controlling-2 / split_lib_slice_5_apk.apk“,zip文件”/data/app/com.example.a694532.e_controlling-2/split_lib_slice_6_apk.apk“,zip文件”/data/app/com.example. a694532.e_controlling-2 / split_lib_slice_7_apk.apk“,zip file”/data/app/com.example.a69 4532.e_controlling-2 / split_lib_slice_8_apk.apk“,zip文件”/data/app/com.example.a694532.e_controlling-2/split_lib_slice_9_apk.apk\”],nativelibraryDirectorIEs=[/data/app/com.example.a694532.e_controlling -2 / lib / arm,/ vendor / lib,/ system / lib]]
                      在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                      at java.lang.classLoader.loadClass(ClassLoader.java:511)
                      at java.lang.classLoader.loadClass(ClassLoader.java:469)
                      在androID.arch.persistence.room.InvalIDationTracker.refreshVersionsAsync(InvalIDationTracker.java:403)
                      在androID.arch.persistence.room.RoomDatabase.endTransaction(RoomDatabase.java:219)
                      在com.example.a694532.e_controlling.data.db.dao.GareDao_Impl.insertGares(GareDao_Impl.java:116)
                      at com.example.a694532.e_controlling.service.repository.TotoRepository $1.onResponse(TotoRepository.java:106)
                      at retrofit2.ExecutorCallAdapterFactory $ExecutorCallbackCall $1 $1.run(ExecutorCallAdapterFactory.java:70)
                      在androID.os.Handler.handleCallback(Handler.java:739)
                      在androID.os.Handler.dispatchMessage(Handler.java:95)
                      在androID.os.Looper.loop(Looper.java:158)
                      在androID.app.ActivityThread.main(ActivityThread.java:7224)
                      at java.lang.reflect.Method.invoke(Native Method)
                      在com.androID.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:1230)
                      在com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
                    抑制:java.lang.classNotFoundException:androID.arch.core.executor.AppToolkitTaskExecutor
                      at java.lang.class.classForname(Native Method)
                      at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                      at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                      at java.lang.classLoader.loadClass(ClassLoader.java:504)
                            ……还有13个
                   引起:java.lang.NoClassDefFoundError:使用引导类加载器找不到类;没有堆栈跟踪可用

Repository.class

 @Singletonpublic class TotoRepository {    //Converters    private GareDtoConverter mGareConverter = new GareDtoConverter();    private TrainDuJourDtoConverter mTrainDuJourConverter = new TrainDuJourDtoConverter();    private TotoService totoService;    private Executor executor;    private GareDao gareDao;    private TrainDao trainDao;    private TronconDao tronconDao;    GareEtTrainDuJour mGareEtTrain=new GareEtTrainDuJour();    MyDatabase database;    OkhttpClIEnt okhttpClIEnt = UnsafeOkhttpClIEnt.getUnsafeOkhttpClIEnt();    public TotoRepository (Application application) {        Gson gson = new GsonBuilder()                .setDateFormat("yyyy-MM-dd'T'HH:mm:ss")                .create();        Retrofit.Builder builder = new Retrofit.Builder()                .baseUrl(EndPoint.TICKET)                .clIEnt(okhttpClIEnt)                .addConverterFactory(GsonConverterFactory.create(gson));        Retrofit retrofit = builder.build();        totoService = retrofit.create(TotoService.class);        database = MyDatabase.getInstance(application);        gareDao=database.garesDao();        trainDao=database.trainDao();        tronconDao=database.tronconDao();    }    /*    @Inject    public TotoRepository(TotoService totoService, GareDao gareDao,TrainDao trainDao,TronconDao tronconDao, Executor executor) {        this.totoService=totoService;        this.gareDao=gareDao;        this.trainDao=trainDao;        this.tronconDao=tronconDao;        this.executor = executor;    }*/public GareEtTrainDuJour getGareEtTrainDuJour() {    refreshGareEtTrainDuJour();    // return a liveData directly from the database.    Log.d("loadFromDb","Recuperation des gares et trains du jours depuis la BD");     mGareEtTrain.setGareList(gareDao.getGares());     mGareEtTrain.setTrainList(trainDao.getTrains());     mGareEtTrain.setTronconList(tronconDao.getTroncons());     return mGareEtTrain;}    public voID refreshGareEtTrainDuJour(){        totoService.garesetTrainsDuJour().enqueue(new Callback<GaresetTrainsDuJourDTO>() {            @OverrIDe            public voID onResponse(Call<GaresetTrainsDuJourDTO> call, Response<GaresetTrainsDuJourDTO> response) {                gareDao.insertGares(mGareConverter.toModelList(response.body().getGares()));                Map<String, Gare> ListnameGare = mGareConverter.myListMapper(mGareConverter.toModelList(response.body().getGares()));                trainDao.insertOrReplaceTrains(mTrainDuJourConverter.toTrainModelList(response.body().getTrains(),ListnameGare));                Log.d("RBRBRBRBRB",mTrainDuJourConverter.toTrainModelList(response.body().getTrains(),ListnameGare).toString());            }            @OverrIDe            public voID onFailure(Call<GaresetTrainsDuJourDTO> call, Throwable t) {                Log.d("RBRBRBRBRBFFFF",t.getCause().toString());                Log.d("RBRBRBRBRBFFFF",t.toString());                t.printstacktrace();            }        });    }}

viewmodel.class

public class Totoviewmodel extends AndroIDviewmodel {private GareEtTrainDuJour mGareEtTrain;private TotoRepository totoRepo;@Injectpublic Totoviewmodel(Application application) {    super(application);    totoRepo=new TotoRepository(application);}public voID init() {    mGareEtTrain=totoRepo.getGareEtTrainDuJour();}public GareEtTrainDuJour getGaresTrain() {    return this.mGareEtTrain;}

}

解决方法:

我只是将gradle依赖项设置为最新版本并且可以正常工作.

的build.gradle(项目级)

dependencIEs {    classpath 'com.androID.tools.build:gradle:3.3.1'    classpath 'com.Google.gms:Google-services:4.2.0'}

的build.gradle(应用级)

dependencIEs {    implementation 'com.Google.firebase:firebase-core:16.0.7'    implementation 'com.Google.firebase:firebase-messaging:17.4.0'    implementation 'com.Google.androID.gms:play-services-location:16.0.0'}
总结

以上是内存溢出为你收集整理的解析失败:Landroid / arch / core / executor / AppToolkitTaskExecutor全部内容,希望文章能够帮你解决解析失败:Landroid / arch / core / executor / AppToolkitTaskExecutor所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104838.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存