Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Carga de clase dinámica con IntelliJ – 64K method dex issue

Estoy trabajando en un proyecto que se está acercando rápidamente al límite del método 64K para los archivos del dex. Esta publicación de blog para desarrolladores de Android (desde julio de 2011) explica cómo obtener una carga de clase dinámica trabajando con una compilación de línea de comandos dirigida por Ant, pero no explora cómo hacerlo funcionar desde IDE (además de decir que no funcionará en Eclipse ).

Miré alrededor y no pude encontrar nada en conseguir este sistema para trabajar desde IntelliJ. ¿IntelliJ admite la creación de aplicaciones con múltiples archivos dex? Si es así, ¿cómo lo configuramos?

  • Importar y ejecutar un proyecto Phonegap 3.0 con Intellij IDEA 12/13?
  • Compilación con Android 4.X pero compatible con API Nivel 9
  • Android Studio / Intellij, Gradle Error: Causa: no homologado
  • La sincronización gradle falló en intellij idea 13.1.1
  • Android Studio no puede autenticarse con SVN
  • Navegación InteLiJ IDEA logcat
  • ¿Cómo puedo establecer el ámbito predeterminado en IntelliJ 12 para encontrar usos?
  • Android Studio - Problema con Android SDK en Windows 7
  • 5 Solutions collect form web for “Carga de clase dinámica con IntelliJ – 64K method dex issue”

    Trate de usar ProGuard para quitar las clases y métodos no utilizados de su proyecto y debería (esperanzadamente) encontrar que no necesita múltiples archivos dex.

    Dicho esto si lo hace: IntelliJ y Eclipse son sólo IDEs – no directamente construir su código – por lo que tendrá que identificar cómo se está construyendo su proyecto – más probable hormiga o Gradle.

    Si su proyecto es un proyecto de Gradle, entonces habrá un archivo build.gradle en la raíz del proyecto; si este es el caso, entonces tendrá que buscar cómo lograr lo mismo con el complemento de Android Gradle, un buen lugar para comenzar Puede ser http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Manipulating-tasks .

    Hay dos opciones:

    1. Romper la clase existente. O
    2. Mueva su clase a otro proyecto y construya como una biblioteca (.jar). Y como sugiere la publicación del blog (mencionada en la consulta), utilice su clase para cargar esta biblioteca (.jar) en su proyecto por separado.

    ¿Puede proporcionar detalles sobre su proyecto?

    Recientemente tuve el mismo problema después de conectar la biblioteca PlayN a mi proyecto. Primero leí todos los posts que mencionaste y cosas relacionadas, pero eventualmente resolví el problema al excluir parte de las clases del tarro dependiente de Pitágoras (eliminé el paquete pythagoras.d, que es para "doble", ya que pythagoras.f, Float ", fue utilizado en lugar de en PlayN), que fue una de las mayores dependencias en PlayN.

    Tal vez usted puede encontrar similar lugar débil en sus dependencias de proyectos.

    Eclipse puede lanzar scripts de hormigas externas pero que no ayudará con las herramientas. La mejor recomendación es Android Studio y Gradle, ya que todos los comandos se ejecutan externamente al IDE y, a continuación, portan este script de Ant. http://code.google.com/p/android-custom-class-loading-sample/source/browse/ Trunk / android-custom-class-loading-sample / build.xml para gradle.

    Mantenga un ojo hacia fuera para cierto apoyo oficial en las líneas de: https://groups.google.com/forum/#!topic/gradle-android-plugin-users/zG_xUeVaV7s

    Multidex parece ser la mejor (y más rápida) opción para abordar el límite del método de 65K. Google tiene una gran documentación sobre cómo configurar Multidex aquí .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.