algolia/algoliasearch-client-android

Crash AndroidX

Satyre opened this issue ยท 5 comments

Describe the bug ๐Ÿ›
Migration to AndroidX produce crash at runtime

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:

  1. using api "com.algolia:algoliasearch-android:3.27.0"
  2. migrate a project to AndroidX

Environment:

  • compileSdkVersion 28
  • targetSdkVersion 28

Additional context
I saw that you did a fix on the instant search. Is it possible to get it to algoliasearch too?

Hi @Satyre, thanks for reporting this! I am currently replicating your situation.

We won't apply the same solution as on InstantSearch, considering that solution forced us to create diverging instantsearch-android and instantsearch-androidx artifacts.
However as Google since fixed the jetifier bug that forced us to do this split, we should be able to simply migrate this library to AndroidX while still supporting the former AppCompat applications. I'm investigating this solution today.

I'll come back to you as soon as we have fixed the issue!

@Satyre, can you share the actual stacktrace you get?

I tried to replicate your situation in algolia-android-demo, branch clientWithAndroidX, but am not getting a crash when running on the emulator. Can you confirm that the code I pushed there causes the same crash on your side? (One reason I can think of explaining why this migration to AndroidX works with the current algoliasearch-client-android is if you didn't use android.useJetifier=true)

In the meantime I'll anyway move forward on the migration of the library to AndroidX.

Hi @PLNech, thanks for your answer.
I tried with android studio 3.4 and Gradle plugin 3.4 it seems to work.
Apparently, the fix on jetifier did the tricks ;)

Glad to hear :)

From my research, we'll have to stick to AppCompat in the library, as we can only support androidX apps with an androidX-based lib unless going down a lengthy route with dejetifier.

Thanks for sharing the details on the gradle plugin version, hopefully it will be useful if others encounter the same issue!

Have a nice day,

While you're around @Satyre, could you tell us a bit more on your usage so that we can serve better your needs? As we're working on a new version of this client, I'm curious to know:

  • Are you using Java, Kotlin, or a mix of both?
  • Had you considered InstantSearch for your application? What was your reason for choosing the client over it?
  • What current limitations do you see with this api client? Is there any feature that you feel is missing?

Looking forward to hearing your thoughts!