• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Support for multidex using SDK 25 on devices older than 5.0

New Here ,
Apr 21, 2017 Apr 21, 2017

Copy link to clipboard

Copied

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.

TOPICS
Development

Views

569

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 24, 2017 Apr 24, 2017

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Apr 24, 2017 Apr 24, 2017

Copy link to clipboard

Copied

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'

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 25, 2017 Apr 25, 2017

Copy link to clipboard

Copied

LATEST

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines