For some unknown reason my app suddenly won't build from Android Studio.
I'm keep getting
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/home/martynas/android-sdk/build-tools/19.1.0/dx --dex --num-threads=4 --output
...
...
...
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Cannot merge new index 65536 into a non-jumbo instruction!
While the same application is built successfully from command line. I've checked method references count and it's way below the dreaded 64k.
I'm using AS 0.8.11 now.
Set the jumboMode property in build.gradle:
android {
...
dexOptions {
jumboMode true
}
}
I also found this useful: Showing dex method count by package.
Try to add this line on your project.properties
dex.force.jumbo=true
Which increment the limit for strings in a dex files. And your project will probably compile.
Note : Also with jumbo set, the is another limit of 64K only for methods in an single dex. If you get this limit in the future , you will need to remove some dependencies.
Update - Google Play Services 6.5 (12-08-14)
With version 6.5 Google finally unbundled the Google Play Services. So from now on it'll be possible to selectively compile the APIs into your executable.
Example :
compile 'com.google.android.gms:play-services-maps:6.5.+'
compile 'com.google.android.gms:play-services-ads:6.5.+'
For all the other individual Google Play Services APIs check this page on d.android.com.
Update (21-04-2015) : https://developer.android.com/tools/building/multidex.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With