daimajia / AndroidViewAnimations

Cute view animation collection.
MIT License
12.42k stars 2.42k forks source link

my app stop when reach to this yoyo code #161

Closed nokyslash closed 3 years ago

nokyslash commented 3 years ago

When the application executes the code, the app stops and throws this error.

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/daimajia/easing/Skill;
at com.daimajia.androidanimations.library.specials.in.DropOutAnimator.prepare(DropOutAnimator.java:15)
        at com.daimajia.androidanimations.library.BaseViewAnimator.setTarget(BaseViewAnimator.java:54)
        at com.daimajia.androidanimations.library.YoYo.play(YoYo.java:254)
        at com.daimajia.androidanimations.library.YoYo.access$1500(YoYo.java:38)
        at com.daimajia.androidanimations.library.YoYo$AnimationComposer.playOn(YoYo.java:215)
        at home.lernesto.budgetquick.StartActivity.onResume(StartActivity.java:48)
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1361)
        at android.app.Activity.performResume(Activity.java:7344)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3763)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3828)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3036)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.daimajia.easing.Skill" on path: DexPathList[[zip file "/data/app/home.lernesto.budgetquick-L0NXYaChdp1szfwFsYZ6YQ==/base.apk"],nativeLibraryDirectories=[/data/app/home.lernesto.budgetquick-L0NXYaChdp1szfwFsYZ6YQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.daimajia.androidanimations.library.specials.in.DropOutAnimator.prepare(DropOutAnimator.java:15) 
        at com.daimajia.androidanimations.library.BaseViewAnimator.setTarget(BaseViewAnimator.java:54) 
        at com.daimajia.androidanimations.library.YoYo.play(YoYo.java:254) 
        at com.daimajia.androidanimations.library.YoYo.access$1500(YoYo.java:38) 
        at com.daimajia.androidanimations.library.YoYo$AnimationComposer.playOn(YoYo.java:215) 
        at home.lernesto.budgetquick.StartActivity.onResume(StartActivity.java:48) 
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1361) 
        at android.app.Activity.performResume(Activity.java:7344) 
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3763) 
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3828) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3036) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696) 
        at android.os.Handler.dispatchMessage(Handler.java:105) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6938) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) 

An here my code. public class StartActivity extends AppCompatActivity { // Constant private static final int TIME_LIFE_ACTIVITY = 2500; private static final int TIME_ANIMATION= 2000;

// Visual Variables private View imgvAppName;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_start);

// To link file XML imgvAppName = findViewById(R.id.imgv_app_name);

    TimerTask task = new TimerTask() {
        @Override
        public void run() {
            startActivity(new Intent(StartActivity.this, MainActivity.class));
            finish();
        }
    };

    Timer timer = new Timer();
    timer.schedule(task, TIME_LIFE_ACTIVITY);
}

@Override
protected void onResume() {
    super.onResume();
    YoYo.with(Techniques.DropOut).duration(TIME_ANIMATION).playOn(imgvAppName);
}
prateekro commented 3 years ago

Try:

YoYo.with(Techniques.DropOut).duration(TIME_ANIMATION).repeat(1).playOn(imgvAppName);
premacck commented 3 years ago

@prateekro For me it's happening when calling:

YoYo.with(Techniques.TakingOff)
  .duration(2000)
  .repeatMode(ValueAnimator.RESTART)
  .repeat(ValueAnimator.INFINITE)
  .playOn(myView)

The stacktrace:

2021-02-10 16:37:27.592 32077-32077/com.example.app.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.app.debug, PID: 32077
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/daimajia/easing/Skill;
        at com.daimajia.androidanimations.library.specials.out.TakingOffAnimator.prepare(TakingOffAnimator.java:13)
        at com.daimajia.androidanimations.library.BaseViewAnimator.setTarget(BaseViewAnimator.java:54)
        at com.daimajia.androidanimations.library.YoYo.play(YoYo.java:254)
        at com.daimajia.androidanimations.library.YoYo.access$1500(YoYo.java:38)
        at com.daimajia.androidanimations.library.YoYo$AnimationComposer.playOn(YoYo.java:215)
        at com.example.app.base.util.view.AnimUtilKt.rippleLoop(AnimUtil.kt:25)
        at com.example.app.task.create.ui.lifecycle.MyActivity.animateLocationEmphasis(TinyHelperLookupActivity.kt:129)
        at com.example.app.task.create.ui.lifecycle.MyActivity.onMapReady(TinyHelperLookupActivity.kt:124)
        at com.google.android.gms.maps.zzac.zza(Unknown Source:2)
        at com.google.android.gms.maps.internal.zzaq.dispatchTransaction(Unknown Source:12)
        at com.google.android.gms.internal.maps.zzb.onTransact(Unknown Source:12)
        at android.os.Binder.transact(Binder.java:1022)
        at ds.aZ(:com.google.android.gms.dynamite_mapsdynamite@205016084@20.50.16 (120700-0):2)
        at com.google.maps.api.android.lib6.impl.bj.run(:com.google.android.gms.dynamite_mapsdynamite@205016084@20.50.16 (120700-0):1)
        at android.os.Handler.handleCallback(Handler.java:907)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7464)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.daimajia.easing.Skill" on path: DexPathList[[zip file "/data/app/~~-KJ-HcacOl32zDAYD50WsA==/com.example.app.debug-ZFTvo55eAoOJ9I2nbEu1fg==/base.apk"],nativeLibraryDirectories=[/data/app/~~-KJ-HcacOl32zDAYD50WsA==/com.example.app.debug-ZFTvo55eAoOJ9I2nbEu1fg==/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:202)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

And when I go to the TakingOffAnimator class, it is showing in the easing package imports: com.daimajia.easing.Glider com.daimajia.easing.Skill

Am I missing some dependency that should have been there?

premacck commented 3 years ago

@nokyslash Adding dependency for Easing library fixed it for me implementation com.daimajia.easing:library:2.4@aar

daimajia commented 3 years ago

As @premacck says, you need to import easing function library.