pusheco / pushe-android-studio-sample

This is a sample application powered by Pushe.co which is build with Android Studio.
http://pushe.co
Apache License 2.0
20 stars 6 forks source link

مشکل در اجرای برنامه با نسخه 2.4.1 ( java.lang.NoClassDefFoundError: Failed resolution of: Lco/pushe/plus/utils/rx/Relay;) #46

Closed mr-sarsarabi closed 3 years ago

mr-sarsarabi commented 3 years ago

سلام پوشه رو که به برنامه اضافه میکنم و روی دستگاه نصب میکنم روی نسخه 2.4.1 این اررور رو به محض باز شدن برنامه نشون میده و اپ کرش میکنه نسخه 2.4.0 ولی این مشکل رو نداره. نسخه اندروید استودیو: 4.1.1

java.lang.NoClassDefFoundError: Failed resolution of: Lco/pushe/plus/utils/rx/Relay;
        at co.pushe.plus.m0.d.get(PusheConfig_Factory.java:2)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at co.pushe.plus.q.get(PushePrivacy_Factory.java:1)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at co.pushe.plus.a.a(AppManifest_Factory.java:1)
        at co.pushe.plus.a.get(AppManifest_Factory.java:1)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at co.pushe.plus.l0.f.appManifest(DaggerCoreComponent.java:1)
        at co.pushe.plus.CoreInitializer.preInitialize(PusheInit.kt:11)
        at co.pushe.plus.internal.PusheInitializer.preInitializeComponents(PusheInitializer.kt:77)
        at co.pushe.plus.internal.PusheInitializer.initialize(PusheInitializer.kt:2)
        at co.pushe.plus.utils.InitProvider.onCreate(InitProvider.kt:1)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1949)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1923)
        at android.app.ActivityThread.installProvider(ActivityThread.java:7273)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6813)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6699)
        at android.app.ActivityThread.access$2000(ActivityThread.java:273)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2020)
        at android.os.Handler.dispatchMessage(Handler.java:112)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7625)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
     Caused by: java.lang.ClassNotFoundException: co.pushe.plus.utils.rx.Relay
        at java.lang.VMClassLoader.findLoadedClass(Native Method)
        at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at co.pushe.plus.m0.d.get(PusheConfig_Factory.java:2) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.q.get(PushePrivacy_Factory.java:1) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.a.a(AppManifest_Factory.java:1) 
        at co.pushe.plus.a.get(AppManifest_Factory.java:1) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.l0.f.appManifest(DaggerCoreComponent.java:1) 
        at co.pushe.plus.CoreInitializer.preInitialize(PusheInit.kt:11) 
        at co.pushe.plus.internal.PusheInitializer.preInitializeComponents(PusheInitializer.kt:77) 
        at co.pushe.plus.internal.PusheInitializer.initialize(PusheInitializer.kt:2) 
        at co.pushe.plus.utils.InitProvider.onCreate(InitProvider.kt:1) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1949) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1923) 
        at android.app.ActivityThread.installProvider(ActivityThread.java:7273) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6813) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6699) 
        at android.app.ActivityThread.access$2000(ActivityThread.java:273) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2020) 
        at android.os.Handler.dispatchMessage(Handler.java:112) 
        at android.os.Looper.loop(Looper.java:216) 
        at android.app.ActivityThread.main(ActivityThread.java:7625) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) 
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lio/reactivex/Observable;
        at co.pushe.plus.m0.d.get(PusheConfig_Factory.java:2) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.q.get(PushePrivacy_Factory.java:1) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.a.a(AppManifest_Factory.java:1) 
        at co.pushe.plus.a.get(AppManifest_Factory.java:1) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.l0.f.appManifest(DaggerCoreComponent.java:1) 
        at co.pushe.plus.CoreInitializer.preInitialize(PusheInit.kt:11) 
        at co.pushe.plus.internal.PusheInitializer.preInitializeComponents(PusheInitializer.kt:77) 
        at co.pushe.plus.internal.PusheInitializer.initialize(PusheInitializer.kt:2) 
        at co.pushe.plus.utils.InitProvider.onCreate(InitProvider.kt:1) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1949) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1923) 
        at android.app.ActivityThread.installProvider(ActivityThread.java:7273) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6813) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6699) 
        at android.app.ActivityThread.access$2000(ActivityThread.java:273) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2020) 
        at android.os.Handler.dispatchMessage(Handler.java:112) 
        at android.os.Looper.loop(Looper.java:216) 
        at android.app.ActivityThread.main(ActivityThread.java:7625) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) 
     Caused by: java.lang.ClassNotFoundException: Didn't find class "io.reactivex.Observable" on path: DexPathList[[zip file "/data/app/ir.marcoweb.cityclub-_Rw6A9PHKxgKHz_bGR-mqg==/base.apk"],nativeLibraryDirectories=[/data/app/ir.marcoweb.cityclub-_Rw6A9PHKxgKHz_bGR-mqg==/lib/arm64, /system/lib64, /product/lib64, /prets/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at co.pushe.plus.m0.d.get(PusheConfig_Factory.java:2) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.q.get(PushePrivacy_Factory.java:1) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.a.a(AppManifest_Factory.java:1) 
        at co.pushe.plus.a.get(AppManifest_Factory.java:1) 
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 
        at co.pushe.plus.l0.f.appManifest(DaggerCoreComponent.java:1) 
        at co.pushe.plus.CoreInitializer.preInitialize(PusheInit.kt:11) 
        at co.pushe.plus.internal.PusheInitializer.preInitializeComponents(PusheInitializer.kt:77) 
        at co.pushe.plus.internal.PusheInitializer.initialize(PusheInitializer.kt:2) 
        at co.pushe.plus.utils.InitProvider.onCreate(InitProvider.kt:1) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1949) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1923) 
        at android.app.ActivityThread.installProvider(ActivityThread.java:7273) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6813) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6699) 
        at android.app.ActivityThread.access$2000(ActivityThread.java:273) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2020) 
        at android.os.Handler.dispatchMessage(Handler.java:112) 
        at android.os.Looper.loop(Looper.java:216) 
        at android.app.ActivityThread.main(ActivityThread.java:7625) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) 
mahdi-malv commented 3 years ago
سلام ممنون میشم کمکم کنید بتونم مشکل رو reproduce کنم. - لایبرری رو با استفاده از `base` اضافه کردید یا `base-mini`? - آیا `rxJava2` به درستی توی لایبرری اضافه می‌شه؟ خطا در نهایت می‌گه که Observable رو نتونسته پیدا کنه. - آیا کد خاصی از APIهای پوشه استفاده کردید؟
mr-sarsarabi commented 3 years ago
حقیقتا نمی دونم چی شده ولی الان که دوباره به پروژه اضافه کردم لایبری رو به این صورت به مشکلی نخوردم.
implementation 'co.pushe.plus:base:2.4.1' implementation 'co.pushe.plus:hms:2.4.1'
البته من قبلا `firebase analytics` و `crashlytics` رو داخل پروژه داشتم که اونا رو به طور کامل حذف کردم تنها تغییری که دادم همین بوده در ضمن توی dependency های پروژه رو هم نگاه کردم ولی rxJava2 رو ندیدم
mahdi-malv commented 3 years ago
درود خود ماژول `base` میاد rx2 رو اضافه می‌کنه. شاید اگر اون رو بجای `implementation` بصورت `api` تعریف کنه مشکلی پیش نیاد. این تغییر رو تست خواهم کرد. آیا با اضافه کردن `firebase crashlytics` و `firebase analytics` این مشکل پیش میاد؟
mahdi-malv commented 3 years ago

درود من این ایشو رو میبندم در صورتی که مشکل کماکان وجود داشت لطفا ایشو رو مجددا باز کنید