2015-12-14 3 views
1

Я пытаюсь скомпилировать свой проект с помощью SDK для SDK, sdk v4.8.2, но я пробовал самые ранние версии. Вот мои сообщения Gradle Build:Facebook SDK ошибка компиляции

UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexIndexOverflowException: Cannot merge new index 66457 into a non-jumbo instruction! 
at com.android.dx.merge.InstructionTransformer.jumboCheck(InstructionTransformer.java:111) 
at com.android.dx.merge.InstructionTransformer.access$800(InstructionTransformer.java:26) 
at com.android.dx.merge.InstructionTransformer$StringVisitor.visit(InstructionTransformer.java:74) 
at com.android.dx.io.CodeReader.callVisit(CodeReader.java:114) 
at com.android.dx.io.CodeReader.visitAll(CodeReader.java:89) 
at com.android.dx.merge.InstructionTransformer.transform(InstructionTransformer.java:50) 
at com.android.dx.merge.DexMerger.transformCode(DexMerger.java:826) 
at com.android.dx.merge.DexMerger.transformMethods(DexMerger.java:800) 
at com.android.dx.merge.DexMerger.transformClassData(DexMerger.java:773) 
at com.android.dx.merge.DexMerger.transformClassDef(DexMerger.java:669) 
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:523) 
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164) 
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) 
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504) 
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 
at com.android.dx.command.dexer.Main.run(Main.java:277) 
at com.android.dx.command.dexer.Main.main(Main.java:245) 
at com.android.dx.command.Main.main(Main.java:106) 
Error:Execution failed for task ':hotelClient:dexDebug'. 
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2 
Information:BUILD FAILED 
Information:Total time: 8.023 secs 
Information:1 error 

Этот проект имел старую библиотеку facebook, интегрированную как зависимость проекта. Но старые файлы уже удалены.

UPDATE

с multidex

warning: Ignoring InnerClasses attribute for an anonymous inner class 
(org.apache.commons.logging.impl.LogFactoryImpl$1) that doesn't come with an 
associated EnclosingMethod attribute. This class was probably produced by a 
compiler that did not target the modern .class file format. The recommended 
solution is to recompile the class from source, using an up-to-date compiler 
and without specifying any "-target" type options. The consequence of ignoring 
this warning is that reflective operations on this class will incorrectly 
indicate that it is *not* an inner class. 
warning: Ignoring InnerClasses attribute for an anonymous inner class 
(org.apache.commons.logging.impl.SimpleLog$1) that doesn't come with an 
associated EnclosingMethod attribute. This class was probably produced by a 
compiler that did not target the modern .class file format. The recommended 
solution is to recompile the class from source, using an up-to-date compiler 
and without specifying any "-target" type options. The consequence of ignoring 
this warning is that reflective operations on this class will incorrectly 
indicate that it is *not* an inner class. 
Uncaught translation error: java.util.concurrent.ExecutionException:  java.lang.OutOfMemoryError: Java heap space 
1 error; aborting 
Error:Execution failed for task ':hotelClient:dexDebug'. 
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1 
+0

http://stackoverflow.com/questions/33313101/dexindexoverflowexception-only-when-running-tests?answertab=active#tab-top –

ответ

1

У вас есть проблема multidex файла так, пожалуйста, добавьте ниже зависимости в ваше приложение Gradle файла.

compile 'com.android.support:multidex:1.0.1' 

добавить Также эту строку:

defaultConfig { 

    applicationId 'pkg' 
    minSdkVersion 
    targetSdkVersion 
    versionCode 
    versionName 

    // Enable MultiDexing: https://developer.android.com/tools/building/multidex.html 
    multiDexEnabled true 
} 

Отредактировано:

Также добавьте ниже Manifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.android.multidex.myapplication"> 
    <application 
     ... 
     android:name="android.support.multidex.MultiDexApplication"> 
     ... 
    </application> 
</manifest> 

спасибо .. !!

+0

@ Drake: Также попробуйте это -> http://stackoverflow.com/ вопросы/27438145/из-за нехватки памяти, ошибки Java-кучи-памяти на андроид-студии – AndiGeeky

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