Salir
  • Comunidad global
    • Idioma:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
Bloqueada

Support for multidex using SDK 25 on devices older than 5.0

Nuevo aquí ,
Apr 21, 2017 Apr 21, 2017

Hi,

When using Air SDK 25, Multidex support seems to be working great on any Android device running on version 5.0 or later, but it fails when I try to run in an older version, like 4.1.2. I believe this is due to lack of support for this part of the Multidex feature:

Multidex support prior to Android 5.0: Configure Apps with Over 64K Methods | Android Studio

It seems to me this should be part of the Adobe Air SDK, but until it's not, does anyone have any suggestion on what can I do to fix this? I really need to make my game run in older devices since they are still a big part of our userbase.

Thanks.

TEMAS
Desarrollo
696
Traducir
Informe
Directrices de la comunidad
Sé amable y respetuoso, muestra títulos de crédito de la fuente de contenido original y busca duplicados antes de publicar. Más información
community guidelines
Nuevo aquí ,
Apr 24, 2017 Apr 24, 2017

Actually, I wonder if my issue is related to these ones:

multiDexKeepFile

Problems with multidexing in Air 25

Meaning, I need to list all the classes that fail to load from the second dex file in the keep file. The issue in that scenario is that I don't have access to the name of all classes inside the JAR I'm using since it's obfuscated. In fact, even if it wasn't, adding the class that logcat say it's missing and ALL its dependencies sound like a lot of work. I wonder if this is the only solution.

I've tested again here and can confirm that the multidex feature seems to be working fine in an Android 7.x version but when running on 4.1.2 the class not found exception is raised for some classes.

Traducir
Informe
Directrices de la comunidad
Sé amable y respetuoso, muestra títulos de crédito de la fuente de contenido original y busca duplicados antes de publicar. Más información
community guidelines
Colaborador ,
Apr 24, 2017 Apr 24, 2017

I don't know if this will help your situation, but you can use dexdump to list the classes in a dexfile, I don't think obfuscation will interfere with that:
dexdump classes2.dex | grep 'Class descriptor'

Traducir
Informe
Directrices de la comunidad
Sé amable y respetuoso, muestra títulos de crédito de la fuente de contenido original y busca duplicados antes de publicar. Más información
community guidelines
Nuevo aquí ,
Apr 25, 2017 Apr 25, 2017
MÁS RECIENTES

Thanks for the suggestion, Peter, but in my case that lists the whole list of classes of a particular JAR I added (Vungle) and most of the classes in the list are indeed obfuscated. I've tried adding just some of these classes to the keep file (especially the one that logcat say it's missing) but didn't fix the issue. I cannot just copy all of them to the keep file because I'll get the 64k limit.

Traducir
Informe
Directrices de la comunidad
Sé amable y respetuoso, muestra títulos de crédito de la fuente de contenido original y busca duplicados antes de publicar. Más información
community guidelines