Too many method references в Android проекте

Собираю Android проект с NanoHTTPD. При сборке выводится ошибка
Error Code:
  	2
  Output:
  	trouble writing output: Too many method references: 104051; max is 65536.
  	You may try using --multi-dex option.
  	References by package:
  	     8 default
  	     3 java.beans
  	   103 java.io
  	   366 java.lang
  	     2 java.lang.management
  	    16 java.lang.ref
  	    14 java.lang.reflect
  	    86 java.math
  	    18 java.net
  	     6 java.nio
  	     2 java.nio.channels
  	    14 java.nio.charset
  	     8 java.security
  	     2 java.text
  	   155 java.util
  	    30 java.util.concurrent
  	    19 java.util.concurrent.atomic
  	    20 java.util.concurrent.locks
  	    19 java.util.regex
  	     4 javax.xml.parsers
  	    24 org.xml.sax
  	    17 org.xml.sax.helpers
  	  8335 scala
  	  3784 scala.actors
  	  1244 scala.actors.remote
  	   384 scala.actors.scheduler
  	   570 scala.actors.threadpool
  	    48 scala.actors.threadpool.helpers
  	   159 scala.actors.threadpool.locks
  	    40 scala.annotation
  	     8 scala.annotation.target
  	     2 scala.annotation.unchecked
  	 19781 scala.collection
  	   785 scala.collection.generic
  	 18959 scala.collection.immutable
  	   171 scala.collection.interfaces
  	 15339 scala.collection.mutable
  	  8209 scala.collection.parallel
  	  2072 scala.collection.parallel.immutable
  	  1994 scala.collection.parallel.mutable
  	   171 scala.collection.script
  	    18 scala.compat
  	   483 scala.concurrent
  	   333 scala.concurrent.forkjoin
  	   893 scala.io
  	  1870 scala.math
  	    48 scala.parallel
  	   107 scala.ref
  	  1712 scala.reflect
  	  2415 scala.reflect.generic
  	  1542 scala.runtime
  	   474 scala.sys
  	   836 scala.sys.process
  	   182 scala.testing
  	   188 scala.text
  	   549 scala.util
  	   266 scala.util.automata
  	    98 scala.util.continuations
  	   502 scala.util.control
  	   110 scala.util.grammar
  	     6 scala.util.logging
  	   442 scala.util.matching
  	   358 scala.util.parsing.ast
  	   767 scala.util.parsing.combinator
  	   304 scala.util.parsing.combinator.lexical
  	    90 scala.util.parsing.combinator.syntactical
  	   213 scala.util.parsing.combinator.testing
  	   124 scala.util.parsing.combinator.token
  	   137 scala.util.parsing.input
  	   929 scala.util.parsing.json
  	     2 scala.util.parsing.syntax
  	   176 scala.util.regexp
  	  1859 scala.xml
  	  1190 scala.xml.dtd
  	   105 scala.xml.factory
  	    11 scala.xml.include
  	   112 scala.xml.include.sax
  	   948 scala.xml.parsing
  	   106 scala.xml.persistent
  	   444 scala.xml.pull
  	   100 scala.xml.transform
  	    11 sun.misc

Что странно, так как ни я ни nanohttpd Scala не использует
Подключал NanoHTTPD с помощью редактирования build.gradle:
apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.kevoree.corelibrary.javase:org.kevoree.library.javase.nanohttp:2.0.5'
}
  • Вопрос задан
  • 3035 просмотров
Решения вопроса 1
akira
@akira
Слишком много методов, есть несколько вариантов решения:
1) Убрать библиотеки, которые не используются.
2) Использовать ProGuard для того, что бы убрать те методы, что не используются.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы