urbanairship / android-library

Urban Airship Android SDK
Other
109 stars 123 forks source link

App crash on Amazon Fire HD 8 (2017, KFDOWI) with SDK v16.5.x #210

Closed suntrix closed 2 years ago

suntrix commented 2 years ago

Preliminary Info

What Airship dependencies are you using?

com.urbanairship.android:urbanairship-core:16.5.x com.urbanairship.android:urbanairship-adm:16.5.x com.urbanairship.android:urbanairship-fcm:16.5.x

Report

What unexpected behavior are you seeing?

App crashes on start with the following error:

Fatal Exception: java.lang.RuntimeException: An error occured while executing doInBackground()
       at android.os.AsyncTask$3.done(AsyncTask.java:304)
       at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
       at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
       at java.util.concurrent.FutureTask.run(FutureTask.java:242)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)

Caused by java.lang.AbstractMethodError: abstract method "void com.amazon.device.messaging.ADMMessageHandlerJobBase.onRegistered(android.content.Context, java.lang.String)"
       at com.amazon.device.messaging.ADMMessageHandlerJobBase.handleNewRegistrationID(ADMMessageHandlerJobBase.java:73)
       at com.amazon.device.messaging.ADMMessageHandlerJobBase.handleRegistrationChange(ADMMessageHandlerJobBase.java:63)
       at com.amazon.device.messaging.ADMMessageHandlerJobBase.onHandleWork(ADMMessageHandlerJobBase.java:35)
       at com.amazon.device.messaging.JobIntentService$CommandProcessor.doInBackground(JobIntentService.java:416)
       at com.amazon.device.messaging.JobIntentService$CommandProcessor.doInBackground(JobIntentService.java:403)
       at android.os.AsyncTask$2.call(AsyncTask.java:292)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)

What is the expected behavior?

No crashes

What are the steps to reproduce the unexpected behavior?

Implement SDK following the docs (using Autopilot).

rlepinski commented 2 years ago

I think this might be a proguard issue. Could you add -keep class com.urbanairship.push.adm.** to your proguard to see if it goes away for you?

rlepinski commented 2 years ago

I was able to reproduce it and verify -keep class com.urbanairship.push.adm.** {*;} proguard rule fixes it. We will include it in a patch today.

rlepinski commented 2 years ago

Fixed in 16.6.1