2015-12-01 4 views
-2

У меня есть проект в Android Studio, который был ранее успешно экспортирован. Тем не менее, я обновил IDE и теперь я получаю эту ошибку:Android Studio не будет создавать файл APK

Error:Execution failed for task ':android:dexRelease'. 

com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Users\Ajay\Downloads\android-sdk_r24.4.1-windows\android-sdk-windows\build-tools\21.0.0\dx.bat -JXmx4g --dex --force-jumbo --output C:\Users\Ajay\Downloads\jetpack(1)\JetPack\game\android\build\intermediates\dex\release --input-list=C:\Users\Ajay\Downloads\jetpack(1)\JetPack\game\android\build\intermediates\tmp\dex\release\inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502) at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277) at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302) at com.android.dx.command.dexer.Main.run(Main.java:245) at com.android.dx.command.dexer.Main.main(Main.java:214) at com.android.dx.command.Main.main(Main.java:106)

Ранее я имел ошибки с помощью Google Play. Так что я редактировал свой файл .build в:

dependencies { 
compile 'com.android.support:appcompat-v7:22.2.0' 
compile 'com.android.support:support-v4:22.0.0' 
compile 'com.google.android.gms:play-services:7.8.0' 

Где, как перед .build файла следующим образом:

dependencies { 
    compile 'com.android.support:appcompat-v7:22.2.0' 
    compile 'com.android.support:support-v4:22.0.0' 
    compile 'com.google.android.gms:play-services:+' 

мне не нужно редактировать мои .build файлов перед обновлением, так Я не уверен, в чем проблема. Есть идеи?

+2

Возможно, минутные поиски помогут ... [dexindexoverflowexception-issue-after-update] (http://stackoverflow.com/questions/26515378/dexindexoverflowexception-issue-after-updating-to-latest-appcompat-and -support-l) –

ответ

0

Проблема в том, что вы внедряете библиотеки огромного размера, а ваш файл dex имеет размер.

compile 'com.google.android.gms:play-services:7.8.0' 

Вам не нужно выполнять весь сервис. Вы должны разделить их.

compile 'com.google.android.gms:play-services-wearable:8.3.0' 

Подробнее docs отсюда.

Делая это, ваш метод уменьшения проектов. Таким образом, файл dex также будет уменьшен. Если ваша проблема существует, вам необходимо разделить файлы dex, выполнив Multidex

Удачи вам.

0

Я думаю, проблема связана с вашим обфускационным инструментом Dexguard. Попробуйте удалить его и построить снова. Я не знаком с Dexguard, но в Proguard вы сохраняете необходимый класс, используя -keep, если эти классы удаляются при построении.

+0

Любая идея о том, как удалить инструмент Dexguard? –

Смежные вопросы