Skip to content Skip to sidebar Skip to footer

What Are The Dex Method And String Limits In An Android App?

After implementing jumbo dex, we dont get any further dex errors. The ~65K string limit is now exceeded, but not the method count. What is the limits we now face, if any, for strin

Solution 1:

After some exhaustive testing. The details can be found below:

  • The upper limit on method references and string references without jumbo dex is 65536.
  • A method reference is a unique name by which a method is defined and/or invoked, and is only counted once. That is to say:
    • if you call an externally defined method (e.g.. something in the core Java runtime) once, that’s one reference
    • if you call it again, it’s still only one reference
    • If you define a method, that’s one reference
    • If you call the same method, it’s still only one reference
  • A string reference is any unique string literal. Note this includes strings defined in resources that become literals in R.
  • Jumbo dex doesn’t seem to have an effect via project.properties (or perhaps both Jon and I are doing it wrong), but it does appear to work in both local and server builds
  • With jumbo dex on, the string reference limit is somewhere between 110K and 120K.
  • With jumbo dex on, the method reference limit is still 65536 (confirmed!!)

Post a Comment for "What Are The Dex Method And String Limits In An Android App?"