Proyecto de referencia (puro java) en el proyecto de Android (No se pudo encontrar la clase)

Estoy tratando de hacer referencia a un puro java-Proyecto en mi Android-Proyecto -> El proyecto de Java tiene un montón de clases que tengo que usar. Oh, y como la primera respuesta señaló: Estoy usando eclipse, sí 🙂
El único problema es: Siempre consigo No podría encontrar la clase 'XXX', referenciada desde el método com.example.helloworld.MainActivity.onCreate. Parece que me he perdido algún paso o error …?
Lo que ya hice:

  • El Proyecto se agrega como Proyecto al Camino de Construcción de Java (lógicamente nessecary)
  • Está marcado en "Orden y exportación" en el Camino de construcción de Java y empujado a la parte superior (esto resuelto el problema de alguien más aquí cuando se trata de Jar-archivos)
  • Ir está marcado en "Referencias del proyecto" en la configuración del proyecto.
  • He añadido la carpeta donde la clase correspondiente está en "Bibliotecas" en la construcción de Ruta … No estoy seguro si eso debería ser nessecary.

La referencia de Java-Project I tiene una carga completa de tarros, pero si esa es la razón, ¿no debo obtener un mensaje de error diferente?

Tuve el mismo problema y después de algunas horas de frustración y búsqueda finalmente he encontrado la respuesta aquí: Android, la clase no se encuentra desde el archivo importado jar

Básicamente, el problema era que el proyecto puro-java referenciado o el tarro generado se construyó con Java 1.7, y los proyectos de Android están configurados para usar 1.6.

Dos maneras de hacer esto.

  • Jar que el proyecto de java y copiar el tarro a la carpeta libs de su proyecto de Android.
  • Agregue el proyecto como proyecto dependiente a su proyecto de Android

Ambos funcionan maravillosamente.

Pero ten en cuenta que este proyecto puro-java debe agregar android.jar y no cosas como rt.jar :). De lo contrario obtendrá excepciones de Dalvik.

Editar: No se olvide de actualizar y Proyecto – Limpie su proyecto de Android.

Dos cosas para comprobar (mencionaste que estás usando Eclipse):

  1. Si su proyecto androide necesita usar los JARs del proyecto puro-java, compruebe que esos JARs se exportan en las opciones de ruta de compilación del proyecto puro-java. Esto se encuentra en la ruta de construcción del proyecto puro-java que está intentando incluir, no en la ruta de compilación del proyecto android que intenta incluirlo. En la pestaña "Pedido y exportación" del proyecto puro-java, tenga en cuenta el comentario "Las entradas exportadas se contribuyen a proyectos dependientes". En este caso, su proyecto androide es el proyecto dependiente y su proyecto puro-java necesita hacer la contribución.

  2. Asegúrese de que el proyecto puro-java está realmente abierto en el IDE además de su proyecto android. Probablemente trivial pero a veces pasado por alto.

Si la respuesta no es suficiente, es posible que desee mencionar si las clases que faltan se encuentran en archivos .java de origen o si sólo se encuentran en JARs en la ruta de construcción del proyecto de puro java

Editar: Para seguir el seguimiento del problema, confirme lo siguiente para asegurarse de que entiendo su pregunta:

  1. El proyecto puro-java se construye correctamente en el IDE

  2. El error "clase no encontrada" es uno que usted está consiguiendo cuando usted intenta y -construye – su proyecto androide y no cuando usted intenta y -run- él.

  3. CLASSPATH (también conocido como camino de construcción) puede ser desagradable para desentrañar. Si incluir el proyecto no funciona (suponiendo que construya), podría intentar crear un JAR de su proyecto puro-java y copiar (e incluir) ese y todos los otros JAR en su proyecto android.

  4. El androide SDK ciertamente complica el entorno de compilación. Una forma de averiguar si el problema es (A) la configuración del proyecto androide) O (B) la forma en que el proyecto puro-java está empaquetado) es crear un proyecto puro de Java diferente e intentar incluir el primero, preferiblemente usando el – Exactamente la misma línea de código que le da el error de compilación en el proyecto de Android, si es posible.

  • Error al iniciar la actividad debido a ClassNotFoundException
  • Clases no encontradas
  • Java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 en Android Studio
  • ClassDefNotFoundError en mis propias clases
  • Crash: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R $ layout
  • Gson NoClassDefFoundError después de que las herramientas ADT y SDK se actualicen a v17
  • Java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
  • Problemas de inicialización de la clase cargando java.util.logging.LogManager en Android Dalvik VM
  • NoClassDefFoundError - Rechazo de re-init en la clase con fallo anterior
  • Java.lang.NoClassDefFoundError en la versión de Android inferior a Lollipop
  • ¿Cómo arreglar NoClassDefFoundError en twitter4j usando Android Studio?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.