chabok-io / chabok-client-android

Chabok Push Client for Android
https://doc.chabokpush.com/android/required.html
3 stars 3 forks source link

Initialization failed #2

Closed shayan4shayan closed 4 years ago

shayan4shayan commented 4 years ago

Chabok will crash in initialization state.

Seems you are checking google play services version but it's not included in chabok dependencies.

Here is the full error log

2019-10-23 10:33:18.788 26806-26806/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ir.shahinsoft.notifictionary, PID: 26806
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/GoogleApiAvailability;
        at com.adpdigital.push.AdpPushClient.checkPlayServices(SourceFile:1126)
        at com.adpdigital.push.AdpPushClient.<init>(SourceFile:212)
        at com.adpdigital.push.AdpPushClient.init(SourceFile:365)
        at com.adpdigital.push.AdpPushClient.init(SourceFile:349)
        at ir.shahinsoft.notifictionary.NotifictionaryApplication.onCreate(NotifictionaryApplication.kt:11)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5945)
        at android.app.ActivityThread.access$1200(ActivityThread.java:200)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1673)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:201)
        at android.app.ActivityThread.main(ActivityThread.java:6806)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.GoogleApiAvailability" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/ir.shahinsoft.notifictionary-cxct3fVpRyJRKNujaZBJ9g==/base.apk"],nativeLibraryDirectories=[/data/app/ir.shahinsoft.notifictionary-cxct3fVpRyJRKNujaZBJ9g==/lib/arm64, /system/lib64, /vendor/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 com.adpdigital.push.AdpPushClient.checkPlayServices(SourceFile:1126) 
        at com.adpdigital.push.AdpPushClient.<init>(SourceFile:212) 
        at com.adpdigital.push.AdpPushClient.init(SourceFile:365) 
        at com.adpdigital.push.AdpPushClient.init(SourceFile:349) 
        at ir.shahinsoft.notifictionary.NotifictionaryApplication.onCreate(NotifictionaryApplication.kt:11) 
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5945) 
        at android.app.ActivityThread.access$1200(ActivityThread.java:200) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1673) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:201) 
        at android.app.ActivityThread.main(ActivityThread.java:6806) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

Also I'm using latest version of androidX and not planing to add google play services as dependency.

farbod-s commented 4 years ago
سلام
برای دریافت اعلان به Dependency زیر نیاز هست:

implementation 'com.google.android.gms:play-services-gcm:10.2.6'

به مستندات راه‌اندازی چابک در اندروید مراجعه کنید
اگر مشکلی در راه‌اندازی داشتید در همین issue مطرح کنید
shayan4shayan commented 4 years ago

مسئله اصلی همینجاست اس دی کی باید به تنهایی کار بکنه و اگر برای اجرای کامل به dependency خاصی نیاز داره باید اون رو بصورت خودکار وارد پروژه بکنه اینکه من برای اینکه ویژگی جدیدی دریافت کنم dependency جدید اضافه کنم چیز بدی نیست منتها تا وقتی که اضافه نکردنش باعث از کار افتادن sdk نشه

farbod-s commented 4 years ago
ما تمام نظرات رو تمام و کمال بررسی میکنیم تا بهترین خروجی رو هم برای توسعه‌دهندگان و هم صاحبان کسب و کار ارائه بدیم و خوشحالیم که این موضوع رو به ما اطلاع دادید
نسخه بعدی SDK تغییرات زیادی داشته و زحمت راه‌اندازی برای توسعه‌دهنده به حداقل رسیده درست مثل Firebase و بعد از تکمیل مستندات و تست‌های مربوطه بزودی منتشر میشه.