Как исправить java .lang.NoClassDefFoundError на android уровне API ниже 21? - PullRequest
0 голосов
/ 08 февраля 2020

Мое приложение работает нормально с моим android API-уровнем 23, когда я пытался запустить его на другом android API-уровне 19, приложение вылетает, когда начинается запуск, и появляется сообщение об ошибке

(java .lang.NoClassDefFoundError: com.notifyuser.peter.notify.PrefService) появился.

мое приложение имеет класс jobservice, который обрабатывается расписанием заданий, ошибка относится к строке, содержащей класс имени компонента, когда я удаляю имя компонента и график работы, все работает отлично.

Я искал решение, но ничего не работает.

вот мой код для jobschedular

 public void scheduleAlarm() {

    ComponentName componentName=new ComponentName(getActivity(),MyService.class);
    JobInfo info=new JobInfo.Builder(0,componentName)
            .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
            .setRequiresDeviceIdle(false)
            .setPersisted(true)
            .build();

    scheduler = (JobScheduler) getActivity().getSystemService(JOB_SCHEDULER_SERVICE);
    int resultCode=scheduler.schedule(info);
    if (resultCode==JobScheduler.RESULT_SUCCESS){
        Log.d(TAG,"job scheduled");
    }else{
        Log.d(TAG,"failed");
    }

}

вот моя ошибка

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.notifyuser.peter.notify, PID: 28016
java.lang.NoClassDefFoundError: com.notifyuser.peter.notify.MyService
    at com.notifyuser.peter.notify.MoviesListFragment.scheduleAlarm(MoviesListFragment.java:119)
    at com.notifyuser.peter.notify.MoviesListFragment.onCreateView(MoviesListFragment.java:182)
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
    at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
    at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
    at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
    at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
    at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
    at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
    at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
    at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
    at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:620)
    at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1174)
    at android.app.Activity.performStart(Activity.java:5274)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
    at android.app.ActivityThread.access$800(ActivityThread.java:151)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:5292)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
    at dalvik.system.NativeStart.main(Native Method)
...