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?

  • ¿Qué es adb en Android?
  • Dibujar la línea de trazo en una lona
  • Obtén velocidad de un evento onTouch ACTION_MOVE en Android
  • Cómo programar una tarea mediante el Administrador de alarmas
  • ¡Stub de la mensajería del dispositivo de Amazon! Android Studio
  • ¿Hay alguna manera de mostrar las instrucciones de la ruta en Google Map API v2?
  • Android SDK AsyncTask doInBackground no está en ejecución (subclase)
  • Android Studio: Error en la instalación de la aplicación
  • Servidor RPC basado en TCP (Erlang o algo similar?) Para la comunicación de aplicaciones iOS / Android
  • Android nGPS: obtener ubicación basada en el campo magnético en lugar de gps o triangulación de células
  • ¿Puede alguien dar una buena explicación de Dagger 2?
  • Obtener los dos números de sim en un teléfono dual sim android
  • 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.