javax. * no se puede importar en mi aplicación de Android?

Estoy intentando importar algunas clases javax.* En mi aplicación de Android, pero sigo recibiendo errores de comstackción dentro de Android Studio. Estoy usando Ubuntu Linux 13.04.

Aquí están mis importaciones:

 import android.os.Bundle; import android.app.Activity; import android.view.Menu; // Here are the imports I am having trouble with: import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.SourceDataLine; 

Y cuando bash ejecutar la aplicación o incluso comstackr el archivo de actividad java, obtengo estos errores:

 Gradle: error: package javax.sound.sampled does not exist Gradle: error: package javax.sound.sampled does not exist Gradle: error: package javax.sound.sampled does not exist 

Simplemente no puedo resolver este problema. ¡Cualquier ayuda sería increíble!

Tenga en cuenta que cuando ejecuta una aplicación de Android: no la ejecuta / comstack en una JVM / JDK estándar, ni siquiera ejecuta bytecode java. Google elige el idioma de Java (o al menos un subconjunto) como el idioma para el desarrollo de Android, pero es solo el idioma.

Al final, el código java comstackdo no es bytecode java, sino que es dalvik bytecode. (no hay archivos .class, pero archivos .dex)

Por lo tanto, al realizar el desarrollo de Android: no puede usar la API completa de JavaSE: está limitado a la API admitida por dalvik VM (disponible aquí ).

(Tenga en cuenta que cuando navega en esta API, tenga cuidado con la versión en la esquina superior derecha de la página: Agregada en el nivel X de la API . Le informa acerca de la versión Android-API que admite esa clase o método)

Esas clases no están incluidas en la biblioteca de Android. Debes usar las API de sonidos específicos de Android. Ver: http://developer.android.com/reference/android/media/package-summary.html

Yo tuve el mismo problema. Lo resolví descargando fonts de OpenJDK (por ejemplo, desde aquí: http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/9b8c96f96a0f/src/share/classes/javax/sound ) y exportar el paquete requerido al archivo * .jar para incluir ese archivo en la aplicación de Android. Funcionó muy bien para mí.

Si descarga OpenJDK del Progtwig de desarrollo de Red Hat (membresía gratuita), puede encontrar los archivos fuente .java para todo el OpenJDK, incluido javax.sound.sampled. Pude depurar mi aplicación de Android usando OpenJDK8.

Tenga en cuenta que no todas las características de OpenJDK8 están disponibles en Android, por lo que solo debe incluir las clases que necesita. Para obtener más información, consulte https://developer.android.com/studio/write/java8-support.html

He estado trabajando en un problema javax.sound en Android durante dos días. Tomé el camino más fácil porque usar javax.sound significaría crear un archivo jar de las librerías que necesitaba y si había código C en JNI debajo de ellos, tendría que portar eso para armar. O podría tomar un arm Linux dist y traer lo que necesitaba para la conversión de mp3 a wav desde allí al JNI. Puede usar archivos jar regulares en Android. Utilizo una biblioteca FTP lista para usar de un tercero para FTP Juju. Mis mp3 no eran muy grandes. Así que los convertí en wavs en res / raw. Pero las soluciones anteriores están disponibles para usted.